Betingelsen EXISTS i SQL bruges til at kontrollere, om resultatet af en korreleret indlejret forespørgsel er tom (indeholder ingen tupler) eller ej. Resultatet af EXISTS er en boolsk værdi Sand eller Falsk. Det kan bruges i en SELECT-, UPDATE-, INSERT- eller DELETE-sætning. Syntaks:
SELECT column_name(s) FROM table_name WHERE EXISTS ( SELECT column_name(s) FROM table_name WHERE condition);>
Eksempler: Overvej følgende to relationer Kunder og Ordrer.
Forespørgsler
- Brug af EXISTS-tilstand med SELECT-sætning For at hente for- og efternavnet på de kunder, der har afgivet mindst én ordre.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- Produktion:
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- Produktion:
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
- Produktion:
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
- Produktion: