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

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

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

---

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

- не тащи всё
- каждое поле должно быть объяснимо бизнесу
- если не можешь объяснить — оно лишнее

---

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

- не поле
- не предположение
- проверяем фактами, а не памятью

---

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

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

- порядок строк не гарантирован
- `LIMIT` теряет смысл
- отчеты становятся случайными

---

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

```
ORDER BY date_raw DESC

```

Почему:

- `ASC` ставится по умолчанию
- SQL решает за тебя
- он не знает, что ты маркетолог

---

#### 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 может выполниться:

- без ошибок
- быстро
- красиво

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

---

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

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