Cours SQL et MySQL · Module 8: Sous-requêtes

Le Labyrinthe des Requêtes

2 min de lecture
Dans cette leçon3

Bienvenue ! Tu te tiens devant les portes du Labyrinthe des Requêtes - la partie la plus complexe de la Grande Bibliothèque. C'est ici que je conserve les parchemins qu'on ne retrouve pas d'un simple coup d'œil sur un rayon. Parfois, pour trouver un livre, il faut d'abord poser une autre question à la Bibliothèque, et seule sa réponse indique le bon rayon.

Une question dans une question

Dans notre monde, cette astuce s'appelle une sous-requête. C'est une requête SELECT ordinaire, enfermée entre parenthèses et placée à l'intérieur d'une autre requête.

1SELECT tytul
2FROM ksiazki
3WHERE cena > (SELECT AVG(cena) FROM ksiazki);

La Bibliothèque exécute d'abord la sous-requête interne - elle calcule le prix moyen de tous les livres. Ce n'est qu'ensuite que la requête externe utilise ce nombre pour sélectionner les livres plus chers que la moyenne.

Pourquoi descendre dans le Labyrinthe ?

  • pour comparer une ligne au résultat d'un calcul (par exemple la moyenne),
  • pour vérifier si une valeur appartient à une liste renvoyée par une autre requête,
  • pour demander si un parchemin apparenté existe sur un autre rayon,
  • pour combiner les résultats de deux recherches en une seule liste.

Ce que tu vas apprendre ici

Nous allons parcourir chaque couloir du Labyrinthe : les sous-requêtes scalaires, l'opérateur IN, les sous-requêtes corrélées, EXISTS / NOT EXISTS, les tables dérivées dans la clause FROM, et la combinaison d'ensembles avec UNION et UNION ALL.

Accroche-toi bien au fil d'Ariane - la logique de ta requête - et tu ne te perdras pas dans les ruelles. Commençons !

Tu as repéré une erreur dans cette leçon ?

Teste tes connaissances

Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.

  1. 1. Qu'est-ce qu'une sous-requête en SQL ?

  2. 2. Dans quels signes place-t-on une sous-requête en SQL ?