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.

Vue d'ensemble de ce que couvre SQL Intermédiaire
rouleragrégat / GROUP BYtabledonnées dans plusieurs tablescombinerJOIN / sous-requêteop. ensemblistesUNION / EXISTS / CTEcalculer à traversfonctions de fenêtragevalider ensembletransactionagrégerjoindreens.à traversmettre à jour
Roule les lignes avec les agrégats, combine plusieurs tables avec JOIN et sous-requêtes, calcule à travers les lignes avec les fonctions de fenêtrage, et valide tes changements ensemble avec les transactions.

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.

5 articles sur l'agrégation et la jointure
agrégatrouler les lignesfns d'agrégationCOUNT / SUM / etc.GROUP BYet HAVINGjointureconnecter les tablesINNER JOINet alias
Les fonctions d'agrégation roulent les lignes, et GROUP BY agrège par groupe. JOIN couvre 3 articles — INNER, OUTER et usage en pratique — couvrant comment connecter les tables.
CatégorieArticleCe que tu apprendras
AgrégatFonctions d'agrégationAgrégation sur toute la table avec COUNT / SUM / AVG / MIN / MAX
AgrégatGROUP BY et HAVINGAgrégation par groupe, HAVING et la différence avec WHERE
JointureINNER JOIN et aliasAlias, INNER JOIN, ON / USING
JointureOUTER / CROSS / auto-jointureLEFT / RIGHT / FULL, CROSS, auto-jointures
JointureJOIN en pratiqueCombiner 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.

5 articles sur les sous-requêtes, opérateurs ensemblistes et CTE
sous-requêteune requête dans une requêteSous-requête ①IN / WHERESous-requête ②FROM / SELECTEXISTSsous-requête corréléeop. ensemblistesfamille UNIONCTE / WITHCTE récursif
Les sous-requêtes et EXISTS imbriquent une requête dans une autre ; les opérateurs ensemblistes et les CTE collent les ensembles de résultats pour garder le SQL complexe lisible.
4 articles sur les fonctions de fenêtrage et les transactions
fonctions de fenêtragecalculer à travers les lignesOVERPARTITION BYORDER BYet cadresclassement / analytiqueordre d'exécutiontransactionvalider ensemble
Les fonctions de fenêtrage couvrent 3 articles — OVER / PARTITION, ORDER BY et cadres, et classement / fonctions analytiques. Les transactions regroupent les changements pour que tu puisses les valider ou les annuler en bloc.
CatégorieArticleCe que tu apprendras
Sous-requêteSous-requête ① IN / WHEREScalaire, IN, agrégat dans WHERE, intro aux sous-requêtes corrélées
Sous-requêteSous-requête ② FROM / SELECTTables dérivées, sous-requêtes dans la clause SELECT, CREATE / INSERT SELECT
EXISTSEXISTS et sous-requêtes corréléesEXISTS / NOT EXISTS et comment NULL interagit avec EXISTS
Op. ensemblistesUNION / INTERSECT / EXCEPTUnion, intersection, différence et UNION ALL
CTEWITH (CTE) et CTE récursifsGains de lisibilité et parcours de hiérarchies avec les CTE récursifs
Fenêtrage ①OVER / PARTITION BYFenêtres d'agrégation et PARTITION BY
Fenêtrage ②ORDER BY et cadresTotaux cumulés et spécifications de cadre (ROWS / RANGE)
Fenêtrage ③Classement / fonctions analytiques et ordre d'exécutionROW_NUMBER / RANK / LAG / LEAD / NTILE et ordre d'exécution SQL
TransactionTransactions et verrousBEGIN / 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.