Aller au contenu

Data Query Language

Les analystes de données effectuent des requêtes SELECT pour extraire les données, dans cette section, nous verrons comment construire des requêtes SQL puissantes pour répondre à des besoins spécifiques d'analyse et d'extraction de données.

Il s'agit des requêtes SELECT. Ces requêtes ont la particularité de ne pas changer l'état des données, elles retournent simplement des données. Grâce aux différentes clauses, on peut décrire la forme des résultats que l'on souhaite. Les données peuvent être récupérées de manière brute ou transformées.

Un premier pas

SELECT * FROM Produits;
Cette requête retourne l'ensemble des lignes de la table Produits avec toutes colonnes. Généralement dans le cadre de l'analyse de données, on applique des règles sur les données plutôt que de récupérer le données brûtes.

Toutes les clauses

La requête suivante comporte l'ensemble des clauses disponibles pour une requête SELECT

ANSI SQL
SELECT <colonnes>
FROM <table>
JOIN <table>
WHERE <condition>
GROUP BY <colonne>
HAVING <condition>
ORDER BY <colonne> ASC/DESC
LIMIT <nombre>;

Ça fait beaucoup, je sais mais pas d'inquiétez pas, nous allons y revenir plus en détails. Regardons un peu l'ordre d'exécution des différentes clauses de cette requête.

Ordre d'exécution

1. FROM

La première étape consiste à extraire les données des tables spécifiées dans la clause FROM, créant une table virtuelle en mémoire.

2. JOIN

Les données sont ensuite combinées en utilisant les clauses JOIN pour former une table résultante consolidée.

3. WHERE

Les lignes de la table résultante sont filtrées en fonction des conditions spécifiées dans la clause WHERE.

4. GROUP BY

Si la requête inclut une clause GROUP BY, les lignes sont regroupées en fonction des colonnes spécifiées.

5. HAVING

Les groupes (et non les lignes individuelles) sont filtrés en fonction des conditions spécifiées dans la clause HAVING.

6. SELECT

Les colonnes à retourner sont sélectionnées, et des calculs d'agrégation peuvent être appliqués aux groupes formés.

7. ORDER BY

Si une clause ORDER BY est présente, les lignes résultantes sont triées en fonction des colonnes spécifiées.

8. LIMIT

Enfin, le nombre de lignes en sortie est limité à la valeur spécifiée dans la clause LIMIT.

Les alias

Les alias sont des synonymes que l'on donne aux tables, colonnes et sous-requêtes pour éviter d'écrire des no très long (des tables surtout). Cela facilite l'écriture des requêtes et améliore également leur lisibilité.

SELECT idProduit AS id, nomProduit AS np, prixUnitaire AS pu
FROM Produits AS p;
Cette requête retourne l'ensemble des lignes et colonnes de la table Produits. Dans la suite, nous utiliserons beaucoup les alias pour les jointures et les sous-requêtes.


Dans les sections suivantes, nous verrons en détail chacun des éléments des requêtes SELECT, approfondissant notre compréhension de la Data Query Language.