logo

SQL | EXISTERAR

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);>
  1. Produktion:
  2. Använder INTE med EXISTS Hämta efter- och förnamn på de kunder som inte har gjort någon beställning.
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Produktion:
  2. Använda EXISTS-villkor med DELETE-sats Ta bort posten för alla kunder från ordertabellen vars efternamn är 'Mehra'.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
  1. Produktion:
  2. Använder EXISTS-villkor med UPDATE-sats Uppdatera lname som 'Kumari' för kund i kundtabell vars kund_id är 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
  1. Produktion: