В предыдущем уроке мы научились использовать условие WHERE с простыми операторами сравнения. Однако реальный анализ данных часто требует фильтрации по нескольким критериям одновременно. Для этого мы используем логические операторы: AND, OR и NOT.
Логические операторы позволяют соединять несколько выражений в условии WHERE для создания более сложных фильтров.
Оператор AND возвращает строки только в том случае, если все условия, разделенные AND, истинны. Он используется для сужения результатов поиска.
Пример (база данных Sakila) Предположим, мы хотим найти фильмы с рейтингом 'G' и продолжительностью менее 80 минут:
SELECT title, length, rating
FROM film
WHERE length < 80 AND rating = 'G';
Оператор OR возвращает строки, если хотя бы одно из условий, разделенных OR, истинно. Он используется для расширения результатов поиска.
Пример (база данных Sakila) Чтобы найти актеров с именами 'NICK' или 'ED':
SELECT first_name, last_name
FROM actor
WHERE first_name = 'NICK' OR first_name = 'ED';
Оператор NOT выводит запись, если условие (или условия) НЕ является истинным. Он фактически инвертирует логику условия.
Пример (база данных Sakila) Чтобы найти все фильмы, кроме тех, у которых рейтинг 'R':
SELECT title, rating
FROM film
WHERE NOT rating = 'R';
Когда вы комбинируете несколько операторов в одном запросе (например, используя и AND, и OR), SQL следует определенному порядку выполнения (приоритету).
NOT выполняется первым.AND выполняется вторым.OR выполняется последним.Сила круглых скобок:
Как и в математике, вам следует использовать круглые скобки (), чтобы управлять порядком выполнения и сделать ваши запросы более читаемыми.
-- Этот запрос находит фильмы, которые (с рейтингом G И короткие) ИЛИ (с рейтингом PG И короткие)
SELECT title, length, rating
FROM film
WHERE (rating = 'G' OR rating = 'PG') AND length < 60;
Основные выводы из этого урока:
AND для обеспечения выполнения всех условий.OR для поиска совпадений по любому из нескольких условий.NOT для исключения определенных данных.() при смешивании AND и OR, чтобы избежать логических ошибок и улучшить четкость.В следующем уроке мы узнаем, как сортировать и ограничивать результаты, чтобы более эффективно организовать ваши данные.