</>

Jointures et requêtes avancées

Intermédiaire

Jointures, sous-requêtes, CTE, fonctions de fenêtre, LATERAL et dates : écrire des requêtes expressives et lisibles.

  1. 01

    Les jointures

    Une jointure combine les lignes de deux tables selon une condition : c'est ce qui rend le modèle relationnel utile.

  2. 02

    Sous-requêtes et EXISTS

    Une sous-requête est une requête imbriquée : elle peut renvoyer une valeur, une liste ou servir de test d'existence.

  3. 03

    CTE : WITH pour structurer une requête

    Une CTE (Common Table Expression) donne un nom à une sous-requête : la requête se lit de haut en bas, étape par étape.

  4. 04

    UNION, INTERSECT, EXCEPT

    Les opérateurs ensemblistes combinent les résultats de plusieurs requêtes de même forme (mêmes colonnes et types).

  5. 05

    Fonctions de fenêtre

    Une fonction de fenêtre calcule une valeur sur un ensemble de lignes liées à la ligne courante, sans les regrouper : on garde le détail et on ajoute un calcul.

  6. 06

    DISTINCT ON et LATERAL

    Deux fonctionnalités très pratiques de PostgreSQL pour les requêtes « le premier de chaque groupe » et « pour chaque ligne, une sous-requête ».

  7. 07

    Dates, heures et intervalles

    Bien manipuler le temps évite une classe entière de bugs (fuseaux, fins de mois, bornes).