Pianificare la query

Reportistica in SQL

Tyler Pernes

Learning & Development Consultant

Obiettivo del capitolo

Reportistica in SQL

Domande da porsi

  • Da quali tabelle dobbiamo estrarre?
  • Come dovremmo combinare le tabelle?
  • Quali campi dobbiamo creare?
  • Quali filtri includere?
  • Serve un ordinamento o un limite?
Reportistica in SQL

Scenario

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     |
| Winter   | Female Age 13-25   | 4     |
| Summer   | Female Age 26+     | 2     |
+----------+--------------------+-------+
Reportistica in SQL

1 - Da quali tabelle dobbiamo estrarre?

Reportistica in SQL

2 - Come dovremmo combinare le tabelle?

Reportistica in SQL

2 - Come dovremmo combinare le tabelle?

Reportistica in SQL

2 - Come dovremmo combinare le tabelle?

Reportistica in SQL

2 - Come dovremmo combinare le tabelle?

Reportistica in SQL

3 - Quali campi dobbiamo creare?

+----------+--------------------+-------+
| 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()
Reportistica in SQL

4 - Quali filtri includere?

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 o HAVING?
  • Filtro sulla dimensione = WHERE
Reportistica in SQL

5 - Serve ordinare o limitare?

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     |
+----------+--------------------+-------+
  • Nessun LIMIT necessario
  • Ordina per golds in ordine decrescente
Reportistica in SQL

Esercitiamoci!

Reportistica in SQL

Preparing Video For Download...