De EXISTS-voorwaarde in SQL wordt gebruikt om te controleren of het resultaat van een gecorreleerde geneste query leeg is (geen tupels bevat) of niet. Het resultaat van EXISTS is een Booleaanse waarde True of False. Het kan worden gebruikt in een SELECT-, UPDATE-, INSERT- of DELETE-instructie. Syntaxis:
SELECT column_name(s) FROM table_name WHERE EXISTS ( SELECT column_name(s) FROM table_name WHERE condition);>
Voorbeelden: Beschouw de volgende twee relaties: Klanten en Orders.
Vragen
- EXISTS-voorwaarde gebruiken met SELECT-instructie Om de voor- en achternaam op te halen van de klanten die minstens één bestelling hebben geplaatst.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- Uitgang:
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- Uitgang:
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
- Uitgang:
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
- Uitgang: