Récapitulatif SQL Intermédiaire — JOIN, sous-requêtes et fonctions de fenêtrage en un coup d'œil
Un récapitulatif sur une page des 14 articles SQL intermédiaires — fonctions d'agrégation et GROUP BY, INNER/OUTER JOIN, sous-requêtes et EXISTS, opérateurs ensemblistes, CTE, fonctions de fenêtrage et transactions — reliés par des schémas et un tableau de classification.
Vue d'ensemble de ce que tu as appris en SQL Intermédiaire
Cette page consolide la syntaxe couverte dans la série SQL Intermédiaire selon quatre axes : agréger plusieurs lignes en une, joindre plusieurs tables avec JOIN et sous-requêtes, calculer à travers les lignes avec les fonctions de fenêtrage, et valider les changements ensemble avec les transactions.
Utilise les liens pour revenir à n'importe quel article pour révision.
Agréger des lignes et joindre plusieurs tables
Les fonctions d'agrégation et GROUP BY réduisent plusieurs lignes en une valeur, tandis que JOIN connecte plusieurs tables via une colonne partagée.
Le schéma ci-dessous cartographie les 2 articles d'agrégation et les 3 articles de jointure.
| Catégorie | Article | Ce que tu apprendras |
|---|---|---|
| Agrégat | Fonctions d'agrégation | Agrégation sur toute la table avec COUNT / SUM / AVG / MIN / MAX |
| Agrégat | GROUP BY et HAVING | Agrégation par groupe, HAVING et la différence avec WHERE |
| Jointure | INNER JOIN et alias | Alias, INNER JOIN, ON / USING |
| Jointure | OUTER / CROSS / auto-jointure | LEFT / RIGHT / FULL, CROSS, auto-jointures |
| Jointure | JOIN en pratique | Combiner JOIN avec WHERE / ORDER BY / CASE |
Composer avec les sous-requêtes, opérateurs ensemblistes et fonctions de fenêtrage
Les sous-requêtes et EXISTS te permettent d'imbriquer une requête dans une autre, les opérateurs ensemblistes et les CTE collent les ensembles de résultats et gardent les choses lisibles, et les fonctions de fenêtrage calculent le rang et les totaux cumulés à travers les lignes.
Les schémas ci-dessous cartographient les sous-requêtes / EXISTS / opérateurs ensemblistes / CTE, et les 3 articles sur les fonctions de fenêtrage.
| Catégorie | Article | Ce que tu apprendras |
|---|---|---|
| Sous-requête | Sous-requête ① IN / WHERE | Scalaire, IN, agrégat dans WHERE, intro aux sous-requêtes corrélées |
| Sous-requête | Sous-requête ② FROM / SELECT | Tables dérivées, sous-requêtes dans la clause SELECT, CREATE / INSERT SELECT |
| EXISTS | EXISTS et sous-requêtes corrélées | EXISTS / NOT EXISTS et comment NULL interagit avec EXISTS |
| Op. ensemblistes | UNION / INTERSECT / EXCEPT | Union, intersection, différence et UNION ALL |
| CTE | WITH (CTE) et CTE récursifs | Gains de lisibilité et parcours de hiérarchies avec les CTE récursifs |
| Fenêtrage ① | OVER / PARTITION BY | Fenêtres d'agrégation et PARTITION BY |
| Fenêtrage ② | ORDER BY et cadres | Totaux cumulés et spécifications de cadre (ROWS / RANGE) |
| Fenêtrage ③ | Classement / fonctions analytiques et ordre d'exécution | ROW_NUMBER / RANK / LAG / LEAD / NTILE et ordre d'exécution SQL |
| Transaction | Transactions et verrous | BEGIN / COMMIT / ROLLBACK, SAVEPOINT, AUTOCOMMIT |
Bien joué !
Tu viens de relier d'un seul élan l'agrégation et GROUP BY, la jointure de plusieurs tables avec JOIN, les sous-requêtes et EXISTS, les opérateurs ensemblistes et les CTE, les fonctions de fenêtrage et les transactions.
Combine ces pièces et tu peux écrire la grande majorité des requêtes d'analyse, d'agrégation et de reporting que tu croiseras dans le travail réel.
Reviens à n'importe quel article qui a attiré ton attention et essaie les motifs sur tes propres données.