Перейти к основному содержимому

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

Основные логические операторы в SQL это AND (И), OR (ИЛИ) и NOT (Отрицание), используемые для комбинирования условий в WHERE для фильтрации данных, возвращающие TRUE, FALSE или UNKNOWN (NULL). К ним также относятся специальные операторы для проверки диапазонов (BETWEEN), списков (IN), соответствия шаблонам (LIKE) и проверки на NULL (IS NULL).

Основные операторы

  • AND: Возвращает TRUE, если оба условия истинны. Например: WHERE age > 20 AND city = 'Moscow'.

  • OR: Возвращает TRUE, если хотя бы одно из условий истинно. Например: *WHERE status = 'Active' OR status = 'Pending'.

  • NOT: Инвертирует результат условия. Например: WHERE NOT country = 'USA'.

Специальные логические операторы

  • BETWEEN: Проверяет, находится ли значение в заданном диапазоне (включая границы). WHERE price BETWEEN 100 AND 200.
  • IN: Проверяет, соответствует ли значение одному из значений в списке. WHERE category IN ('Electronics', 'Books').
  • LIKE: Поиск подстрок с использованием символов-шаблонов (%, _). WHERE name LIKE 'A%'.
  • EXISTS: Проверяет наличие строк, возвращаемых подзапросом. WHERE EXISTS (SELECT 1 FROM Orders WHERE CustomerID = Customers.ID).
  • IS NULL / IS NOT NULL: Проверяет, является ли значение NULL (неизвестным). WHERE email IS NULL.
  • ALL / ANY: Используются с подзапросами для сравнения с всеми или любым из возвращаемых значений. Ссылка

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

  • Сначала выполняются унарные операторы (NOT).
  • Затем бинарные: AND.
  • В последнюю очередь: OR.
  • Для изменения приоритета используются скобки ()