Villkoret EXISTS i SQL används för att kontrollera om resultatet av en korrelerad kapslad fråga är tomt (innehåller inga tupler) eller inte. Resultatet av EXISTS är ett booleskt värde True eller False. Den kan användas i en SELECT-, UPDATE-, INSERT- eller DELETE-sats. Syntax:
SELECT column_name(s) FROM table_name WHERE EXISTS ( SELECT column_name(s) FROM table_name WHERE condition);>
Exempel: Betrakta följande två relationer Kunder och Order.
Frågor
- Använda EXISTS-villkor med SELECT-sats För att hämta för- och efternamnet på de kunder som gjort minst en beställning.
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: