Ответ
Все SQL-операторы принято делить на несколько групп в зависимости от их назначения:
DDL (Data Definition Language) — язык определения данных. Эти операторы управляют структурой (схемой) базы данных.
CREATE
— создаёт объекты БД (таблицы, индексы, представления).ALTER
— изменяет структуру существующего объекта.DROP
— удаляет объект.TRUNCATE
— быстро удаляет все записи из таблицы, не логируя каждую строку.
DML (Data Manipulation Language) — язык манипулирования данными. Используются для работы с данными внутри таблиц.
SELECT
— выбирает данные из таблиц.INSERT
— добавляет новые строки в таблицу.UPDATE
— изменяет существующие данные.DELETE
— удаляет строки.
DQL (Data Query Language) — язык запросов данных. Формально, к нему относится только
SELECT
, но его часто рассматривают как часть DML. Ключевые операторы, используемые сSELECT
:FROM
— указывает таблицу для выборки.WHERE
— фильтрует записи.GROUP BY
— группирует строки с одинаковыми значениями.HAVING
— фильтрует сгруппированные данные (в отличие отWHERE
, работает после агрегации).ORDER BY
— сортирует результат.JOIN
(INNER, LEFT, RIGHT, FULL) — объединяет строки из двух или более таблиц.
TCL (Transaction Control Language) — язык управления транзакциями.
BEGIN
/START TRANSACTION
— начинает новую транзакцию.COMMIT
— сохраняет все изменения, сделанные в рамках транзакции.ROLLBACK
— отменяет все изменения в транзакции.
DCL (Data Control Language) — язык управления доступом к данным.
GRANT
— предоставляет пользователю права на выполнение определённых операций.REVOKE
— отзывает ранее выданные права.
Пример сложного запроса с JOIN и агрегацией:
SELECT
d.name AS department_name,
COUNT(e.id) AS number_of_employees
FROM departments d
JOIN employees e ON d.id = e.department_id
WHERE e.salary > 50000
GROUP BY d.name
HAVING COUNT(e.id) > 5
ORDER BY number_of_employees DESC;