В предложении WHERE могут присутствовать логические операторы

  • AND - логическое И;
  • OR - логическое ИЛИ;
  • NOT - отрицание.

AND - логическое И

Начнем с AND. Например, запрос для получения информации о сотруднице, работающей в магазине с идентификатором 200, занимающей должность 'SELLER' по имени Наталия:

SELECT *
  FROM employee
 WHERE store_id = 200
   AND rank_id = 'SELLER'
   AND first_name = 'Наталия'
# employee_id store_id rank_id first_name last_name middle_name manager_id
1 26 200 SELLER Наталия Потапова Евсеевна 12

OR - логическое ИЛИ

Если хотя бы одно из условий истинно, то все выражение истинно. Например, сотрудников с должностями 'CHIEF' и 'DIRECTOR' , т.e. должность равна 'CHIEF' ИЛИ должность равна 'DIRECTOR', можно получить запросом:

SELECT employee_id,
       store_id, 
       last_name,
       first_name
  FROM employee
 WHERE rank_id = 'CHIEF'
    OR rank_id = 'DIRECTOR'
# employee_id store_id rank_id last_name first_name
1 1 100 CHIEF Иванов Алексей
2 2 200 CHIEF Маккормик Кенни
3 3 400 CHIEF Матвеева Анна
4 4 500 CHIEF Шмидт Роман
5 5 600 CHIEF Сухоруков Виктор
6 6 800 CHIEF Немцова Светлана
7 7 900 CHIEF Вершинина Ольга
8 9 301 DIRECTOR Антонов Сергей

P.S. Можно улучшить, используя IN, но об этом позже.

NOT - отрицание

Логический оператор NOT отображает запись, если условие(я) НЕ ИСТИНА. К примеру, чтобы получить всех сотрудников, кроме занимающих должности 'CHIEF' и 'DIRECTOR', необходимо выполнить запрос:

SELECT *
  FROM employee
 WHERE NOT (
         rank_id = 'CHIEF' 
      OR rank_id = 'DIRECTOR')
# employee_id store_id rank_id first_name last_name middle_name manager_id
1 8 201 CEO Петр Корсаков Константинович
2 10 302 GENERAL_MANAGER Влад Контур Семенович
3 11 100 MANAGER Глеб Тарасов Авдеевич
... ... ... ... ... ... ... ...

2.1 Выражение WHERE

2.3 Порядок условий