Tri, DISTINCT, LIMIT

Maîtriser l'ordre et la taille d'un résultat : ORDER BY sur une ou plusieurs clés, DISTINCT sur la combinaison des colonnes affichées, LIMIT et OFFSET.

  • 20 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Les chiffres
  5. Mises en situation

Quelques cartes du deck

  • ORDER BY : de quoi s'agit-il ?

    Voir la réponse

    Clause qui trie les lignes du résultat selon une ou plusieurs colonnes, de la plus importante à la moins importante.

    Sans elle, la base rend les lignes dans l'ordre qui l'arrange, qui peut changer d'une exécution à l'autre : rien ne garantit un ordre.

  • Quelles lignes rend cette requête ?

    ```sql
    -- film : titre, annee
    -- Cendres 2021 | Bal masqué 2019 | Les Voisins 2015 | Orbite 2012
    -- Horizon 2010 | Zéro absolu 2004 | Nuit blanche 1998 | Terminus 1985
    SELECT titre FROM film
    ORDER BY annee DESC
    LIMIT 3 OFFSET 2;
    `

    • Les Voisins, Orbite, Horizon
    • Cendres, Bal masqué, Les Voisins
    • Bal masqué, Les Voisins, Orbite
    • Orbite, Horizon, Zéro absolu
    Voir la réponse

    Les Voisins, Orbite, Horizon

    Le tri décroissant donne Cendres, Bal masqué, Les Voisins, Orbite, Horizon… OFFSET 2 saute les deux premiers, LIMIT 3 garde les trois suivants.

  • Dans ORDER BY ville, age DESC, les lignes sont triées d'abord par …, puis, à ville égale, par … décroissant.

    Voir la réponse

    Dans ORDER BY ville, age DESC, les lignes sont triées d'abord par ville, puis, à ville égale, par age décroissant.

    La première colonne domine ; la suivante ne départage que les ex æquo de la précédente.

  • DESC : de quoi s'agit-il ?

    Voir la réponse

    Mot qui inverse le sens du tri pour la seule colonne qu'il suit : du plus grand au plus petit.

    Le sens par défaut est croissant (ASC). Dans ORDER BY ville, age DESC, seule age est décroissante ; il faut répéter DESC sur chaque colonne concernée.