freeitevent | бесплатные IT мероприятия с 2017 года
@freeitevent в Telegram

SQL для начинающих: основы за 30 минут

2026-03-04

Не пропустите бесплатные IT мероприятия

Подписывайтесь на Telegram-канал — анонсы митапов, конференций и хакатонов каждый день

Подписаться

Что такое SQL и зачем он нужен

SQL (Structured Query Language) — язык для работы с базами данных. Он нужен почти всем в IT: бэкенд-разработчики пишут запросы к базе, аналитики извлекают данные для отчётов, тестировщики проверяют данные напрямую, продакт-менеджеры строят дашборды. SQL существует с 1970-х и не теряет актуальности — это один из самых долгоживущих языков в IT.

Популярные базы данных, работающие с SQL: PostgreSQL (самая популярная в России для новых проектов), MySQL, Microsoft SQL Server, SQLite (встроенная, для мобильных приложений).

SELECT — получение данных

Самая частая операция. Вы спрашиваете у базы: «покажи мне данные».

SELECT * FROM users; — все столбцы из таблицы users.

SELECT name, email FROM users; — только конкретные столбцы. В реальной работе всегда указывайте нужные столбцы — SELECT * неэффективен на больших таблицах.

WHERE — фильтрация

Выбираем не всё, а только то, что подходит под условие:

SELECT name, email FROM users WHERE age > 25;

SELECT * FROM orders WHERE status = 'completed' AND total > 1000;

Операторы: =, !=, >, <, >=, <=, AND, OR, IN, LIKE, BETWEEN, IS NULL.

SELECT * FROM users WHERE name LIKE '%ов'; — все, чьё имя заканчивается на «ов».

ORDER BY и LIMIT

Сортировка и ограничение результатов:

SELECT name, created_at FROM users ORDER BY created_at DESC LIMIT 10; — 10 последних зарегистрированных пользователей.

JOIN — объединение таблиц

Данные обычно хранятся в нескольких таблицах. JOIN связывает их:

SELECT users.name, orders.total FROM users JOIN orders ON users.id = orders.user_id;

Основные типы:

  • INNER JOIN — только строки, где есть совпадение в обеих таблицах
  • LEFT JOIN — все строки из левой таблицы, даже если в правой совпадений нет (там будет NULL)
  • RIGHT JOIN — наоборот

LEFT JOIN используется чаще всего. Пример: вывести всех пользователей и их заказы, включая тех, кто ничего не заказывал.

GROUP BY — группировка и агрегация

Считаем статистику по группам:

SELECT city, COUNT(*) as user_count FROM users GROUP BY city ORDER BY user_count DESC; — сколько пользователей в каждом городе.

Агрегатные функции: COUNT(), SUM(), AVG(), MIN(), MAX().

HAVING — фильтрация после группировки:

SELECT city, COUNT(*) as cnt FROM users GROUP BY city HAVING cnt > 100; — только города с более чем 100 пользователями.

Изменение данных

INSERT — добавление

INSERT INTO users (name, email, age) VALUES ('Иван', 'ivan@mail.ru', 28);

UPDATE — обновление

UPDATE users SET age = 29 WHERE email = 'ivan@mail.ru';

Важно: всегда используйте WHERE с UPDATE. Без WHERE обновятся все строки в таблице.

DELETE — удаление

DELETE FROM users WHERE id = 42;

Аналогично — без WHERE удалятся все данные. На продакшене такие команды выполняются с особой осторожностью.

Что дальше

После освоения основ изучите: подзапросы, оконные функции (WINDOW), индексы, транзакции и оптимизацию запросов (EXPLAIN). Для практики используйте SQLBolt, LeetCode (раздел Database) или разверните PostgreSQL локально и экспериментируйте на своих данных.

Углубить знания SQL помогут митапы по аналитике данных и бэкенд-разработке. Бесплатные мероприятия по этим темам — на freeitevent.ru.

Не пропустите бесплатные IT мероприятия

Подписывайтесь на Telegram-канал — анонсы митапов, конференций и хакатонов каждый день

Подписаться