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

  • Оператор AND отображает запись, если все условия, разделенные символом AND, имеют значение TRUE.
  • Оператор OR отображает запись, если любое из условий, разделенных OR, является TRUE.

Оператор NOT отображает запись, если условие (и) НЕ ИСТИНА.

Синтаксис AND

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

Синтаксис OR

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

Синтаксис NOT

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

Пример AND

Следующий оператор SQL выбирает все поля из «users», где пол «gender» равен 1 (женский), а  баланс «balance» больше или равен (>=) 1000.

Пример:

SELECT * FROM users
WHERE gender = 1 AND balance >= 1000;

Пример OR

Следующий оператор SQL выбирает все поля из «users», где баланс пользователя «balance» равен 1000 или возраст пользователя «age» равен 25.

Пример:

SELECT * FROM users
WHERE balance = 1000 OR age = 25;

Пример NOT

Следующий оператор SQL выбирает все поля из «users», где возраст «age» не равен 30:

Пример:

SELECT * FROM users
WHERE NOT age = 30

Объединение AND, OR и NOT

Вы также можете комбинировать операторы AND, OR и NOT.

Следующий оператор SQL выбирает все поля из «users», где возраст «age» равно 30. И баланс «balance» больше 1000 или имя «name» равно Том.

Пример:

SELECT * FROM users
WHERE age = 30 AND (balance > 1000 OR name = 'Том');