Sous-requête d'existence EXISTS
Introduction
Cette sous-requête permet de vérifier que la sous-requête contient au moins un tuple.
Syntaxe :
La requête imbriquée faisant référence à des propriétés (éventuellement non projetées) de la requête principale.
Exemple :
CTRL+C pour copier, CTRL+V pour coller
1
SELECT Chercheur.Nom
2
FROM Chercheur
3
WHERE EXISTS
4
(SELECT *
5
FROM Universite
6
WHERE Universite.Nom=Chercheur.Universite)
SELECT Chercheur.Nom FROM Chercheur WHERE EXISTS (SELECT * FROM Universite WHERE Universite.Nom=Chercheur.Universite)
Remarque : Projection dans la sous-requête
Puisque la sous-requête n'est destinée qu'à valider l'existence d'un tuple, il est inutile de procéder à une projection particulière pour cette sous-requête. On utilise donc en général la clause SELECT * pour une sous-requête avec une clause EXISTS.
Remarque : NOT EXISTS
On peut tester la non présence de tuple dans la sous-requête en utilisant la clause NOT EXISTS à la place de la clause EXISTS.