Utiliser des sous-requêtes
SQL:utiliser des sous-requêtes1. Introduction
Une sous-requête est une requête SELECT qui est utilisée à l’intérieur d’une autre requête.
Une sous-requête peut être utilisée :
-
dans la clause WHERE d’une requête SELECT, UPDATE ou DELETE ;
-
dans la clause SELECT d’une requête SELECT ;
-
dans la clause FROM d’une requête SELECT ;
-
comme valeur affectée à une colonne dans une requête INSERT ou UPDATE ;
-
comme source de données d’une requête INSERT, à la place de la clause VALUES.
La sous-requête est toujours écrite entre parenthèses.
Elle peut contenir des jointures, ainsi que des clauses WHERE, GROUP BY, ORDER BY, etc. Une sous-requête peut aussi elle-même contenir des sous-requêtes !
Depuis la version 8, MySQL supporte les « expressions de table communes » (Common Table Expression - CTE), à savoir la possibilité de définir des sous-requêtes nommées dans une clause WITH qui précède la requête principale et de les utiliser dans cette dernière comme si c’étaient des tables.
2. Sous-requête scalaire
Sous-requête:scalaireUne sous-requête qui retourne une seule colonne et au plus une seule ligne est appelée sous-requête scalaire.
Une telle sous-requête peut être utilisée partout...