SQL код скопирован в буфер обмена
Этот урок по SQL посвящен объединению нескольких условий в предложении WHERE с использованием логических операторов: AND, OR и NOT. Вы узнаете, как создавать сложные фильтры базы данных для извлечения конкретных подмножеств данных путем объединения нескольких выражений. В уроке объясняется приоритет операторов и важность использования круглых скобок для управления порядком вычислений и обеспечения точности запросов. Освойте методы фильтрации сложных данных, чтобы улучшить свои навыки выполнения SQL-запросов для более эффективного анализа данных и отчетности.
EN PT

Урок 2.3 Объединение нескольких условий

Объединение нескольких критериев в SQL

В предыдущем уроке мы научились использовать условие WHERE с простыми операторами сравнения. Однако реальный анализ данных часто требует фильтрации по нескольким критериям одновременно. Для этого мы используем логические операторы: AND, OR и NOT.

Логические операторы

Логические операторы позволяют соединять несколько выражений в условии WHERE для создания более сложных фильтров.

1. Оператор AND (И)

Оператор AND возвращает строки только в том случае, если все условия, разделенные AND, истинны. Он используется для сужения результатов поиска.

Пример (база данных Sakila) Предположим, мы хотим найти фильмы с рейтингом 'G' и продолжительностью менее 80 минут:

SELECT title, length, rating
FROM film
WHERE length < 80 AND rating = 'G';

2. Оператор OR (ИЛИ)

Оператор OR возвращает строки, если хотя бы одно из условий, разделенных OR, истинно. Он используется для расширения результатов поиска.

Пример (база данных Sakila) Чтобы найти актеров с именами 'NICK' или 'ED':

SELECT first_name, last_name
FROM actor
WHERE first_name = 'NICK' OR first_name = 'ED';

3. Оператор NOT (НЕ)

Оператор NOT выводит запись, если условие (или условия) НЕ является истинным. Он фактически инвертирует логику условия.

Пример (база данных Sakila) Чтобы найти все фильмы, кроме тех, у которых рейтинг 'R':

SELECT title, rating
FROM film
WHERE NOT rating = 'R';

Приоритет операторов

Когда вы комбинируете несколько операторов в одном запросе (например, используя и AND, и OR), SQL следует определенному порядку выполнения (приоритету).

  1. NOT выполняется первым.
  2. AND выполняется вторым.
  3. OR выполняется последним.

Сила круглых скобок: Как и в математике, вам следует использовать круглые скобки (), чтобы управлять порядком выполнения и сделать ваши запросы более читаемыми.

Пример (база данных Sakila)

-- Этот запрос находит фильмы, которые (с рейтингом G И короткие) ИЛИ (с рейтингом PG И короткие)
SELECT title, length, rating
FROM film
WHERE (rating = 'G' OR rating = 'PG') AND length < 60;

Основные выводы из этого урока:

  • Используйте AND для обеспечения выполнения всех условий.
  • Используйте OR для поиска совпадений по любому из нескольких условий.
  • Используйте NOT для исключения определенных данных.
  • Всегда используйте круглые скобки () при смешивании AND и OR, чтобы избежать логических ошибок и улучшить четкость.

В следующем уроке мы узнаем, как сортировать и ограничивать результаты, чтобы более эффективно организовать ваши данные.