FROM / JOIN
Assemble les tables
Le moteur part des tables sources et applique les jointures : c’est le jeu de lignes de départ de toute la requête.
FROM commandes o
JOIN clients c ON c.id_client = o.id_clientUne requête SQL ne s’évalue pas dans l’ordre où elle s’écrit : le SELECT arrive après le FROM, le WHERE et le GROUP BY. Connaître cet ordre logique explique la plupart des erreurs courantes, comme un alias inconnu dans le WHERE.
FROM / JOINAssemble les tables
Le moteur part des tables sources et applique les jointures : c’est le jeu de lignes de départ de toute la requête.
FROM commandes o
JOIN clients c ON c.id_client = o.id_clientWHEREFiltre les lignes
Élimine les lignes avant tout regroupement. Les alias du SELECT et les fonctions d’agrégation n’y sont pas encore disponibles.
WHERE o.statut = 'livree'GROUP BYRegroupe les lignes
Forme un groupe par valeur des colonnes citées ; chaque colonne du SELECT doit alors être groupée ou agrégée.
GROUP BY c.regionHAVINGFiltre les groupes
S’applique après le regroupement, donc sur des agrégats : c’est le WHERE des groupes.
HAVING COUNT(*) > 100SELECTCalcule les colonnes
Évalue les expressions, les agrégats, les fonctions de fenêtrage et définit les alias.
SELECT c.region, COUNT(*) AS nb_commandesDISTINCTSupprime les doublons
Retire les lignes identiques du résultat. Souvent le symptôme d’une jointure mal maîtrisée : à justifier.
SELECT DISTINCT c.regionORDER BYTrie le résultat
Arrive après le SELECT : c’est la seule clause où les alias sont toujours utilisables.
ORDER BY nb_commandes DESCLIMIT / TOPLimite le nombre de lignes
Ne renvoie que les N premières lignes du résultat trié. TOP s’écrit dans le SELECT (SQL Server) mais s’applique en dernier.
LIMIT 10 -- PostgreSQL, Snowflake
SELECT TOP 10 … -- SQL ServerÀ garder sous la main : agrandissez-la, puis gardez ces points en tête.
Lisez la définition, cherchez la réponse, puis retournez la carte.
INNER JOINLignes présentes des deux côtésLEFT JOINToute la gauche, complétée à droiteRIGHT JOINToute la droite, complétée à gaucheFULL OUTER JOINToutes les lignes des deux tablesLEFT JOIN … IS NULLLignes de gauche sans correspondanceCROSS JOINToutes les combinaisons possiblespwdAffiche le répertoire courantlsListe le contenu d’un répertoirecdChange de répertoirecatAffiche le contenu d’un fichiercpCopie un fichier ou un dossiermvDéplace ou renommemkdirCrée un répertoiresudoExécute avec les droits administrateurImporterSe connecter aux sources de donnéesNettoyerPréparer les données avec Power QueryModéliserRelier les tables et écrire les mesures DAXVisualiserChoisir les bons visuelsPublierPartager et planifier l’actualisationNos experts vous accompagnent, et nos formations rendent vos équipes autonomes.