La condition EXISTS en SQL est utilisée pour vérifier si le résultat d'une requête imbriquée corrélée est vide (ne contient aucun tuple) ou non. Le résultat de EXISTS est une valeur booléenne True ou False. Il peut être utilisé dans une instruction SELECT, UPDATE, INSERT ou DELETE. Syntaxe:
SELECT column_name(s) FROM table_name WHERE EXISTS ( SELECT column_name(s) FROM table_name WHERE condition);>
Exemples : Considérez les deux relations suivantes : Clients et Commandes.
Requêtes
- Utilisation de la condition EXISTS avec l'instruction SELECT Pour récupérer le prénom et le nom des clients qui ont passé au moins une commande.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- Sortir:
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- Sortir:
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
- Sortir:
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
- Sortir: