Как сделать фильтрацию по нескольким условиям (AND, OR, NOT)?

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

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

Если одного условия недостаточно, в WHERE можно объединять несколько проверок. Для этого используют AND, OR и NOT.

AND

AND означает, что должны выполняться сразу все условия. Например, WHERE age > 18 AND status = 'active' вернёт только активных пользователей старше 18 лет.

OR

OR означает, что достаточно выполнения хотя бы одного условия. Например, WHERE city = 'Moscow' OR city = 'Saint Petersburg' вернёт пользователей из одного из двух городов.

NOT

NOT отрицает условие. Например, WHERE NOT status = 'deleted' вернёт все строки, кроме удалённых.

Пример запроса

SELECT id, name
FROM users
WHERE age > 18
  AND status = 'active'
  OR city = 'Moscow';

В таком запросе важно помнить про приоритет операторов и при необходимости использовать скобки, например WHERE age > 18 AND (status = 'active' OR city = 'Moscow').

Как ответить на собеседовании

Для фильтрации по нескольким условиям я использую AND, когда нужны все условия сразу, OR, когда достаточно одного из них, и NOT, когда надо исключить строки. Если условия сложные, обязательно ставлю скобки, чтобы порядок вычисления был однозначным.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге