SQL описывает, ЧТО нужно получить, а не как это сделать. Запрос читается почти как фраза: выбрать поля из таблицы, где выполняется условие, сгруппировать и отсортировать.
Что нужно знать
- Создание: CREATE TABLE t (id INTEGER PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(80) UNIQUE).
- Выборка: SELECT поля FROM таблица WHERE условие ORDER BY поле [ASC|DESC]; * — все поля.
- Условия: =, <>, <, >, AND, OR, NOT, IN (…), BETWEEN a AND b (границы включены), LIKE '8%', IS NULL.
- Агрегаты: COUNT(*), SUM, AVG, MIN, MAX — одно значение на всю выборку или на группу.
- GROUP BY — группы; HAVING — условие на группу (AVG(score) > 80); WHERE — условие на строку, до группировки.
- Порядок записи: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY.
- Соединения: INNER JOIN — только пары; LEFT JOIN — все строки левой таблицы (без пары — NULL). Условие: ON a.id = b.a_id.
- Изменения: INSERT INTO t (…) VALUES (…); UPDATE t SET … WHERE …; DELETE FROM t WHERE … — без WHERE затронут все строки.
Где чаще всего ошибаются
- Писать условие на агрегат в WHERE вместо HAVING.
- Проверять пустое значение через = NULL.
- Запускать UPDATE или DELETE без WHERE.
- Ставить ORDER BY перед GROUP BY или WHERE после GROUP BY.
Проверить себя
По этой же теме курса есть проверочная работа из 15 заданий на 25 минут. Проверка автоматическая, результат виден сразу — и по работе целиком, и по каждой теме.
Анализ и представление данных · 7–9 классы · SQL-запросы: выборка, группировка, изменение данных