Перейти к основному содержимому
Модуль 1 · Урок 3 из 43/57 в курсе~10 min
Уроки модуля (3/4)

Фильтрация с помощью WHERE

Часто нам нужны не все строки таблицы, а только те, которые удовлетворять определенному условию. Предложение WHERE фильтрует строки на основе логическое выражение:

SQL
SELECT <colonne>
FROM   <tabella>
WHERE  <condizione>;

Движок оценивает состояние по одной строке за раз и сохраняет только те, которые для чего он возвращает TRUE.

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

Наиболее распространенными из них являются:

  • = равен, <> (или !=) не равен
  • <, <=, >, >=
  • BETWEEN a AND b — закрытый интервал (a и b включены)
  • IN (v1, v2, …) — членство в списке
  • LIKE 'patt%' — совпадение текста с подстановочным знаком %

Текстовые значения заключаются в одинарные кавычки: 'Milano'.

Объединение условий

Вы можете объединить несколько условий с помощью AND, OR и отменить их с помощью NOT. При их смешивании используйте для ясности круглые скобки:

SQL
WHERE department_id = 1
  AND (salary > 40000 OR hired_on < '2020-01-01');

Попробуйте это

Упражнение#sql.m1.l3.e1
Попыток: 0Загрузка…

Извлеките имя (first_name), фамилию (last_name) и зарплату (salary) сотрудников с зарплатой строго больше 40 000.

Загрузка редактора…
Показать подсказку

Необходимое условие: зарплата > 40000. Цифры не требуют кавычек.

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#sql.m1.l3.e2
Попыток: 0Загрузка…

Извлеките имя (first_name) и фамилию (last_name) сотрудников, фамилия которых начинается с буквы «R». Используйте LIKE с подстановочным знаком %.

Загрузка редактора…
Показать подсказку

Шаблон «R%» означает: строки, начинающиеся с буквы R, за которой следует что угодно.

Решение доступно после 3 попыток