SQL: Запросы к реальности


Команды

Команды

#Выбор конкретных колонок

Суть

Экономия ресурсов и нервов. Выбираем только те поля, которые нужны для ответа на бизнес-вопрос, игнорируя технический мусор.

SQL-синтаксис
SELECT source_raw, visits_raw, revenue_raw 
FROM analytics_events 
LIMIT 10
Когда применяется
Типичная ошибка

«Висячая запятая».
SELECT source_raw, visits_raw, FROM ... — это ошибка. Перед FROM запятой быть не должно. Запятая только разделяет элементы списка.

Команды

#SELECT и LIMIT

Суть

Самый базовый запрос. Позволяет заглянуть внутрь таблицы и понять, какие там лежат данные, не выгружая миллионы строк.

SQL-синтаксис
SELECT * 
FROM analytics_events
LIMIT 5
Когда применяется
Типичная ошибка

Путаница в порядке команд. Запомни как мантру:

SELECT (Что?)

    FROM (Откуда?)

    LIMIT (Сколько?) —- всегда в конце.

Команды

#Фильтрация (WHERE)

Суть

Фейс-контроль для данных. Позволяет работать не со всей "помойкой", а только с нужными сегментами.

SQL-синтаксис
SELECT date_raw, source_raw, visits_raw 
FROM analytics_events 
WHERE visits_raw > 10 
LIMIT 5
Когда применяется
  1. Поиск качественного трафика: Отсечь случайные заходы (WHERE visits_raw > 5).
  2. Анализ конкретного канала: Посмотреть статистику только по VK (WHERE source_raw = 'Переходы из социальных сетей').
  3. Поиск аномалий: Найти дни с аномально высоким отказом (WHERE bounce_rate_raw = '100,00%').
Типичная ошибка

Опечатки в названиях колонок (как у тебя с visits_rew). SQL не прощает ошибок даже в одной букве. Если запрос упал — первым делом проверяй написание полей.

Практика


Практика

#1 Практика: Аудит "пустого" трафика (WHERE =)

Задача

Менеджер заметил странный трафик 5 января 2026 года: переходы были, а продаж нет. Нужно подтвердить это цифрами из базы.

Требование: Вывести источник, дату, визиты и продажи. Отфильтровать строго за '05.01.2026'.

Рабочее решение (SQL)
SELECT source_raw, date_raw, visits_raw, goal_sales_raw
FROM analytics_events
WHERE date_raw = '05.01.2026'
LIMIT 5
Разбор логики
Грабли (Типичная ошибка)

Потеря колонок в выборке.
Часто новички пишут фильтр в WHERE, но забывают добавить саму метрику (например, продажи) в SELECT. Получается отчет, который фильтрует правильно, но не показывает ответ на вопрос «А сколько было денег?».

Практика

#Практика: Фильтрация чисел (WHERE >)

Задача

Найти источники трафика с высокой доходностью (выручка более 50 000 руб.).

Рабочее решение (SQL)
SELECT source_raw, users_raw, revenue_raw
FROM analytics_events
WHERE revenue_raw > 50000
LIMIT 3

Главные выводы (Запомнить!)

Типичная ошибка

Попытка написать число с пробелом или валютой (50 000 руб.). SQL — это калькулятор, он понимает только чистые цифры.

Практика

#Практика: Текстовые фильтры (WHERE =)

Задача

Выявить записи с аномальным показателем отказов (100%), чтобы понять, в какие дни и из каких источников шел некачественный трафик.

Рабочее решение (SQL)
SELECT date_raw, source_raw, bounce_rate_raw
FROM analytics_events
WHERE bounce_rate_raw = '100,00%'
LIMIT 7
Главные выводы
Типичная ошибка

Использование SELECT только для тех полей, по которым фильтруем. Всегда добавляй контекст (например, date_raw), чтобы отчет имел смысл для человека, а не только для машины.

Практика

Базовые правила SELECT для аналитика

1. Любой запрос начинается с бизнес-вопроса

Плохие запросы отвечают на «что SQL смог».
Хорошие — на «что я хочу понять».


2. SELECT — только нужные поля


3. FROM — всегда реальная таблица


4. ORDER BY обязателен почти всегда

Без сортировки:


5. Направление сортировки указывай явно

ORDER BY date_raw DESC

Почему:


6. Иерархия сортировки

Всегда сверху вниз по смыслу:

  1. Время (date_raw)

  2. Деньги (revenue_raw)

  3. Конверсии (goal_sales_raw)

  4. Трафик (visits_raw)

ORDER BY date_raw DESC, revenue_raw DESC

7. LIMIT — только после сортировки

Иначе ты смотришь:


8. Рабочий запрос ≠ правильный отчет

SQL может выполниться:

И при этом быть логически неверным.


Контрольное правило (запомни намертво)

Если ты не можешь одним предложением сказать,
что именно показывает запрос,
значит запрос плохой.

Словарь

Словарь

#Словарь бойца (База)

Основные команды

Команда Перевод Что делает на самом деле
SELECT Выбрать Говорит базе, какие колонки показать. Если не указал колонку здесь — в отчете её не увидишь.
FROM Из Указывает имя таблицы, откуда берем данные.
WHERE Где Фильтр. Отсекает лишние строки. Пропускает только те, что выполняют условие.
LIMIT Лимит Ограничивает количество строк в выдаче.


Знак Название Правило использования
* Звездочка "Дай всё". Означает выбрать все колонки без разбора.
, Запятая Разделитель перечисления в SELECT.
' Одинарные кавычки Обязательны для текста и дат.
-- Два дефиса Начало комментария. База игнорирует всё, что написано после них в этой строке.


Термин Что это Пример из наших данных
Таблица Место, где лежат все данные. analytics_events
Колонка (Поле) Вертикальный столбец. Конкретный параметр. visits_raw (визиты), revenue_raw (выручка).
Строка (Запись) Горизонтальная строка. Одно событие. Одна конкретная запись за 05.01.2026.