Planifier la requête

Création de rapports en SQL

Tyler Pernes

Learning & Development Consultant

Objectif du chapitre

Création de rapports en SQL

Questions à se poser

  • À partir de quelles tables extraire ?
  • Comment combiner les tables ?
  • Quels champs créer ?
  • Quels filtres ajouter ?
  • Un tri ou une limite à appliquer ?
Création de rapports en SQL

Scénario

Medailles d'or par groupe démographique
(Pays d'Europe de l'Ouest seulement)
+----------+--------------------+-------+
| 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     |
+----------+--------------------+-------+
Création de rapports en SQL

1 - Quelles tables devons-nous interroger ?

Création de rapports en SQL

2 - Comment combiner les tables ?

Création de rapports en SQL

2 - Comment combiner les tables ?

Création de rapports en SQL

2 - Comment combiner les tables ?

Création de rapports en SQL

2 - Comment combiner les tables ?

Création de rapports en SQL

3 - Quels champs devons-nous créer ?

+----------+--------------------+-------+
| 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 - chaîne statique
  • demographic_group - conditionnel
  • golds - SUM()
Création de rapports en SQL

4 - Quels filtres faut-il inclure ?

Medailles d'or par groupe démographique
(Pays d'Europe de l'Ouest seulement)
+----------+--------------------+-------+
| 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 ou HAVING ?
  • Filtrer sur une dimension = WHERE
Création de rapports en SQL

5 - Faut-il trier ou limiter ?

Medailles d'or par groupe démographique
(Pays d'Europe de l'Ouest seulement)
+----------+--------------------+-------+
| 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     |
+----------+--------------------+-------+
  • Pas de LIMIT nécessaire
  • Trier par golds en ordre décroissant
Création de rapports en SQL

Passons à la pratique !

Création de rapports en SQL

Preparing Video For Download...