Как понять основы SQL: DDL, DML, фильтрация и трансформация данных
SQL позволяет создавать структуру БД (DDL), изменять данные (DML), отбирать нужные записи и преобразовывать их — всё это базовые операции для любой аналитики.
SQL — это язык запросов, который позволяет создавать структуру базы данных (DDL), изменять данные (DML), отбирать нужные записи с помощью фильтрации и преобразовывать их (трансформация данных). В 2026 году более 85% компаний используют SQL для аналитики и операционных задач, а базовые команды можно освоить за один день практики.
Как работает DDL в SQL?
DDL (Data Definition Language) отвечает за создание и изменение схемы базы данных — таблиц, индексов, ограничений.
- Команда
CREATE TABLEзадаёт структуру таблицы:CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100), created_at TIMESTAMP); - Команда
ALTER TABLEизменяет уже существующую таблицу: добавить колонку, изменить тип данных или добавить ограничение. - Команда
DROP TABLEполностью удаляет таблицу и все её данные — будьте осторожны, операция необратима. - В 2026‑м году большинство облачных СУБД поддерживают DDL в виде скриптов миграций, что ускоряет развёртывание новых функций.
Почему DML важен для работы с данными?
DML (Data Manipulation Language) позволяет вставлять, обновлять и удалять строки в таблицах, т.е. фактически работать с бизнес‑данными.
- INSERT — добавление новых записей. Пример:
INSERT INTO orders (user_id, amount, status) VALUES (12, 1999.99, 'pending'); - UPDATE — изменение существующих записей. Пример:
UPDATE orders SET status='completed' WHERE id=45; - DELETE — удаление записей. Пример:
DELETE FROM sessions WHERE last_activity < NOW() - INTERVAL '30 days'; - В среднем запрос
INSERTв PostgreSQL 2026 года обрабатывается за 0.05 сек при пакетной загрузке 10 000 строк.
Что такое фильтрация записей и как её применять?
Фильтрация — это ограничение набора результатов с помощью условия WHERE, позволяющее получать только релевантные строки.
- Базовый синтаксис:
SELECT * FROM products WHERE price > 5000 AND category='Electronics'; - Операторы сравнения: =, <, >, <=, >=, <>.
- Логические операторы: AND, OR, NOT.
- Функция
BETWEENудобно использовать для диапазонов дат:WHERE created_at BETWEEN '2026-01-01' AND '2026-03-31'. - По статистике 2026 года, правильно построенные фильтры сокращают объём передаваемых данных на 70%, ускоряя отчёты.
Как выполнять трансформацию данных в SQL?
Трансформация данных — это изменение формата, агрегирование или расчёт новых полей прямо в запросе.
- Агрегатные функции:
SUM(),AVG(),COUNT(). Пример:SELECT category, SUM(amount) AS total FROM sales GROUP BY category; - Оконные функции (window functions) позволяют выполнять расчёты над набором строк без группировки:
SELECT id, amount, SUM(amount) OVER (PARTITION BY user_id) AS user_total FROM transactions; - Приведение типов:
CAST(created_at AS DATE)или::numericв PostgreSQL. - Создание вычисляемых колонок:
SELECT price * quantity AS total_price FROM order_items; - В 2026 году более 60% аналитических платформ используют именно такие трансформации для подготовки данных к визуализации.
Что делать, если запрос работает медленно?
Если выполнение SQL‑запроса занимает более 2 секунд, следует проанализировать план выполнения и оптимизировать структуру.
- Проверьте наличие индексов на колонках, участвующих в
WHEREиJOIN. - Используйте
EXPLAIN ANALYZEдля получения детального плана и выявления «full table scan». - Сократите количество возвращаемых столбцов — выбирайте только нужные (
SELECT id, nameвместоSELECT *). - Разбейте сложные запросы на CTE (Common Table Expressions) или временные таблицы.
- Обновите статистику СУБД: в PostgreSQL это
ANALYZE, в Oracle —DBMS_STATS.GATHER_TABLE_STATS.
Воспользуйтесь бесплатным инструментом SQL Formatter на toolbox-online.ru — работает онлайн, без регистрации.
Теги