Complément sous-requêtes LA300: SQL
Le Select dans le « FROM » Une requête renvoyant une table peut être imbriquée dans la clause FROM d'une autre requête. SELECT * FROM ( SELECT TIT_CODE, CLI_NOM, CLI_PRENOM FROM MaTable ) TableReponse ici, TableReponse est le renommage en table du résultat de la requête, car la clause FROM doit porter sur des tables nommées.
Le Select dans le « Where » Une requête renvoyant une seule colonne avec plusieurs valeurs peut être imbriqué dans le prédicat IN, mais aussi dans les prédicats ALL, SOME(ANY). SELECT * FROM Matable WHERE uneColonne IN ( SELECT CLI_NOM FROM MaTable )
Le Match Une requête renvoyant une seule ligne peut être imbriquée dans un prédicat MATCH et comparé à une ligne valuée SELECT * FROM maTable WHERE (valeur1, valeur2, valeur3) MATCH ( SELECT TIT_CODE, CLI_NOM, CLI_PRENOM FROM T_CLIENT WHERE CLI_NOM LIKE'R%' )
D’autres cas! Une requête renvoyant une valeur unique peut être imbriquée partout ou une constante peut figurer...
Dans l’ « existe »
Exemples Dans le Select, le Having
Exemples Sous-Requêtes corrélées Les clients ayant le même prénom
Exemples Ce qu’une jointure n’arrivera pas a exprimer!