SQL начинается с нескольких базовых команд, которые используются почти в каждом запросе. Если понять логику SELECT, WHERE, GROUP BY и ORDER BY, работать с базами данных станет намного проще.
SELECT — что выбрать
Команда SELECT отвечает за выбор данных из таблицы.
SELECT name, salary
FROM employees;
Запрос вернёт столбцы name и salary из таблицы employees.
Если нужно получить все поля:
SELECT *
FROM employees;
Но в реальной работе лучше явно указывать нужные колонки — это ускоряет запрос и делает код понятнее.
WHERE — какие строки отфильтровать
WHERE задаёт условие отбора данных.
SELECT name, salary
FROM employees
WHERE salary > 100000;
Этот запрос покажет только сотрудников с зарплатой выше 100000.
Часто используют операторы:
=равно!=или<>не равно>,<,>=,<=AND,OR,NOTIN,BETWEEN,LIKE
Пример:
SELECT *
FROM employees
WHERE department = 'IT' AND salary > 120000;
GROUP BY — как сгруппировать данные
GROUP BY нужен для агрегации: подсчёта, суммирования, среднего и других итогов по группам.
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;
Результат покажет, сколько сотрудников в каждом отделе.
Часто используется с функциями:
COUNT()— количествоSUM()— суммаAVG()— среднееMIN()— минимумMAX()— максимум
Пример:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;
Важно: если колонка указана в SELECT и не обёрнута в агрегатную функцию, она должна быть в GROUP BY.
ORDER BY — как отсортировать результат
ORDER BY сортирует итоговую выборку.
SELECT name, salary
FROM employees
ORDER BY salary DESC;
DESC — по убыванию, ASC — по возрастанию.
Можно сортировать по нескольким полям:
SELECT name, department, salary
FROM employees
ORDER BY department ASC, salary DESC;
Порядок написания SQL-запроса
Обычно базовый запрос выглядит так:
SELECT column1, column2
FROM table_name
WHERE condition
GROUP BY column1
ORDER BY column2 DESC;
Практический пример 🚀
Найти среднюю зарплату по отделам в IT-компании и отсортировать от большего к меньшему:
SELECT department, AVG(salary) AS avg_salary
FROM employees
WHERE salary > 0
GROUP BY department
ORDER BY avg_salary DESC;
Итог 🧠
SELECT выбирает данные, WHERE фильтрует строки, GROUP BY собирает их в группы для расчётов, а ORDER BY сортирует результат. Это основа SQL, без которой не обходится ни аналитика, ни backend-разработка, ни работа с BI-системами.
📌 В закрепе — мягкая рекомендация заглянуть в подборку каналов про IT: там полезные материалы по SQL, аналитике, разработке и карьере в tech.