Перейти к содержанию

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

Программирование SQL Сложность 1/5

Начало урока

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

Запросите у таблицы только те строки, которые вам действительно нужны

Главная идея: В таблице могут быть тысячи строк, но обычно все они вам не нужны. Условие WHERE - это проверка, которую вы задаёте. SQL применяет её к каждой строке и оставляет только те строки, которые прошли проверку.
К концу урока вы сможете:
  • сравнивать значения с помощью =, <>, <, >, <=, >=,
  • объединять проверки с помощью AND, OR, NOT и управлять порядком с помощью скобок,
  • задавать диапазон с помощью BETWEEN,
  • задавать короткий список с помощью IN,
  • искать по текстовому шаблону с помощью LIKE и подстановочных знаков % и _.

1. Что делает WHERE?

Представьте охранника на входе на праздник. Каждый гость подходит, охранник проверяет одно правило ("вы есть в списке?"), и внутрь проходят только те, кто прошёл проверку. WHERE - это такой охранник для ваших строк. Вы задаёте одно правило, SQL проверяет его для каждой строки, и возвращаются только те строки, для которых правило истинно.

С SELECT ... FROM ... вы познакомились в прошлой теме. WHERE - это новая строка, которую вы добавляете после FROM:

SELECT columns
FROM table
WHERE condition;

Прочитайте вслух: "Возьми эти столбцы из этой таблицы, но только те строки, где условие истинно".

2. Наша таблица-пример

Все запросы ниже работают с одной небольшой таблицей students. Вот как она создаётся, чтобы вы точно представляли, что внутри:

CREATE TABLE students (
  id     INT,
  name   VARCHAR(20),
  age    INT,
  grade  INT,
  city   VARCHAR(20),
  score  INT
);

INSERT INTO students VALUES
  (1, 'Sara', 12, 7, 'London', 85),
  (2, 'Omar', 13, 8, 'Paris',  60),
  (3, 'Mia',  12, 7, 'London', 92),
  (4, 'Leo',  14, 9, 'Berlin', 45),
  (5, 'Nina', 13, 8, 'Paris',  78),
  (6, 'Adam', 12, 7, 'Madrid', 88);

Это даёт нам такие шесть строк:

idnameagegradecityscore
1Sara127London85
2Omar138Paris60
3Mia127London92
4Leo149Berlin45
5Nina138Paris78
6Adam127Madrid88

Держите эту таблицу в голове. Для каждого запроса мы будем задавать вопрос, и вы сами сможете проверить ответ по этим строкам.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя