Статья Автор: Деникина Н.В., Деникин А.В.

Основные операторы условия WHERE

Фильтрация данных с помощью условия WHERE — важная часть работы с SQL-запросами, позволяющая выбирать только те строки, которые соответствуют заданным критериям. Условие WHERE используется в команде SELECT, а также в других командах, таких как UPDATE и DELETE, когда нужно выбрать определённые записи для обновления или удаления.

Синтаксис WHERE

SELECT столбец1, столбец2, ... FROM имя_таблицы WHERE условие; 

Вместо условие можно подставить выражения, которые проверяют значения в столбцах на соответствие определённым критериям. Это могут быть сравнительные операторы, логические операторы и функции для работы со строками и числами.

Основные операторы условия WHERE

1. Сравнительные операторы

Используются для сравнения значений в таблице:

  • = — равно
  • <> или != — не равно
  • < — меньше
  • > — больше
  • <= — меньше или равно
  • >= — больше или равно

Пример

SELECT * FROM employees WHERE age > 30; 

Этот запрос вернёт всех сотрудников, возраст которых больше 30 лет.

2. Оператор BETWEEN

Позволяет выбрать строки, где значения находятся в определённом диапазоне.

SELECT * FROM employees WHERE age BETWEEN 25 AND 35; 

Этот запрос выберет всех сотрудников, чей возраст находится между 25 и 35 годами включительно.

3. Оператор IN

Используется для проверки наличия значения в указанном списке.

SELECT * FROM employees WHERE department IN ('Sales', 'Marketing'); 

Здесь будут выбраны только те сотрудники, которые работают в отделах Sales или Marketing.

4. Оператор LIKE

Используется для поиска строк по шаблону и особенно полезен для фильтрации текстовых данных. В SQLite можно использовать следующие подстановочные символы:

  • % — заменяет любое количество символов (включая ноль символов).
  • _ — заменяет один любой символ.
SELECT * FROM employees WHERE name LIKE 'A%'; 

Этот запрос выберет всех сотрудников, чьи имена начинаются на "A".

5. Оператор IS NULL / IS NOT NULL

Позволяет фильтровать строки с пустыми (NULL) или непустыми значениями.

SELECT * FROM employees WHERE email IS NULL; 

Здесь будут выбраны только те сотрудники, у которых нет адреса электронной почты.

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

Для более сложных условий можно комбинировать несколько условий с помощью логических операторов:

  • AND — возвращает строки, где все условия выполняются.
  • OR — возвращает строки, где хотя бы одно условие выполняется.
  • NOT — возвращает строки, где условие не выполняется.

Пример с AND

SELECT * FROM employees WHERE department = 'Sales' AND age > 30; 

Этот запрос выберет всех сотрудников из отдела Sales, чей возраст больше 30 лет.

Пример с OR

SELECT * FROM employees WHERE department = 'Sales' OR department = 'Marketing'; 

Здесь будут выбраны все сотрудники, которые работают либо в отделе Sales, либо в отделе Marketing.

Пример с NOT

SELECT * FROM employees WHERE NOT age > 50; 

Этот запрос выберет всех сотрудников, чей возраст не превышает 50 лет.

Сочетание условий с помощью скобок

Когда в запросе используются несколько условий с разными операторами (AND, OR), можно добавить скобки, чтобы управлять порядком выполнения.

SELECT * FROM employees WHERE (department = 'Sales' OR department = 'Marketing') AND age > 30; 

Этот запрос вернёт сотрудников, работающих в отделах Sales или Marketing, при этом их возраст должен быть старше 30 лет.

Пример: Использование WHERE в запросе SELECT

Предположим, у нас есть таблица employees со следующими столбцами: employee_id, name, department, age, salary, email.

Мы хотим выбрать всех сотрудников, которые работают в отделе IT, получают зарплату больше 5000 и у которых есть адрес электронной почты:

SELECT name, age, salary, email 
FROM employees 
WHERE department = 'IT' AND salary > 5000 AND email IS NOT NULL; 

Этот запрос выберет только те строки, которые соответствуют всем трём условиям.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать