← К оглавлению занятия

🔖 Справочник: команды и синтаксис

⚡ Минимум для запоминания

  • SELECT ... FROM ... WHERE ... — базовая выборка.
  • DISTINCT — уникальные строки.
  • ORDER BY + LIMIT/OFFSET — сортировка и страницы.
  • GROUP BY + HAVING — группировка и фильтр групп.
  • JOIN ... USING (model) — соединение по модели.
  • IN, подзапросы, MIN/MAX/AVG/COUNT — для сложных условий.

Общий шаблон запроса

SELECT [DISTINCT] column1, column2, aggregate_function(...)
FROM table1
[JOIN table2 USING (column)]
[WHERE condition]
[GROUP BY column1, column2]
[HAVING group_condition]
[ORDER BY column1 [ASC|DESC], ...]
[LIMIT count OFFSET offset];

Команды, операторы и функции

КонструкцияОписаниеПример
SELECTВыборка столбцовSELECT model, price FROM PC;
FROMУказание источника данныхFROM Product
WHEREФильтрация строкWHERE price < 500
DISTINCTУникальные строкиSELECT DISTINCT maker FROM Product;
ORDER BYСортировка результатаORDER BY price DESC
LIMITОграничение числа строкLIMIT 10
OFFSETПропуск первых строкOFFSET 20
GROUP BYГруппировка строкGROUP BY hd
HAVINGФильтрация группHAVING COUNT(*) >= 2
JOINСоединение таблицProduct JOIN PC USING (model)
UNIONОбъединение результатов запросовSELECT ... UNION SELECT ...
INПроверка вхождения в списокWHERE cd IN ('12x', '24x')
COUNTКоличество строк или не-NULL значенийCOUNT(model)
SUMСумма значенийSUM(price)
AVGСреднее значениеAVG(speed)
MINМинимумMIN(price)
MAXМаксимумMAX(price)

Когда какой оператор применять

ЗадачаОператор
Отфильтровать строки по значениюWHERE
Убрать дублиDISTINCT
Отсортировать результатORDER BY
Вернуть только часть строкLIMIT / OFFSET
Соединить данные из разных таблицJOIN
Сложить результаты нескольких запросовUNION
Сгруппировать строки и посчитать итогиGROUP BY + агрегат
Отфильтровать результат агрегацииHAVING
Проверить вхождение в списокIN
Сравнить с результатом другого запросаПодзапрос

Полный справочник

→ Справочник SQL