Планування запиту

Звітування в SQL

Tyler Pernes

Learning & Development Consultant

Мета розділу

Звітування в SQL

Питання для планування

  • З яких tables треба витягти дані?
  • Як слід combine ці таблиці?
  • Які fields потрібно створити?
  • Які filters слід додати?
  • Потрібні ordering чи limiting?
Звітування в SQL

Сценарій

Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
Звітування в SQL

1 — З яких таблиць треба витягти дані?

Звітування в SQL

2 — Як поєднати таблиці?

Звітування в SQL

2 — Як поєднати таблиці?

Звітування в SQL

2 — Як поєднати таблиці?

Звітування в SQL

2 — Як поєднати таблиці?

Звітування в SQL

3 — Які поля потрібно створити?

+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
  • season - static string
  • demographic_group - conditional
  • golds - SUM()
Звітування в SQL

4 — Які фільтри слід додати?

Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
  • WHERE чи HAVING?
  • Фільтр за виміром = WHERE
Звітування в SQL

5 — Чи потрібне сортування або обмеження?

Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
  • LIMIT не потрібен
  • Відсортуйте за golds за спаданням
Звітування в SQL

Давайте потренуємось!

Звітування в SQL

Preparing Video For Download...