SQL | OBSTAJA

SQL | OBSTAJA

Pogoj EXISTS v SQL se uporablja za preverjanje, ali je rezultat korelirane ugnezdene poizvedbe prazen (ne vsebuje tupl) ali ne. Rezultat EXISTS je logična vrednost True ali False. Lahko se uporablja v stavku SELECT, UPDATE, INSERT ali DELETE. Sintaksa:

 SELECT column_name(s) FROM table_name WHERE EXISTS  ( SELECT column_name(s) FROM table_name WHERE condition); 

Primeri: Razmislite o naslednjih dveh razmerjih Stranke in Naročila.

Poizvedbe

    Uporaba pogoja EXISTS s stavkom SELECT Za pridobivanje imena in priimka strank, ki so oddale vsaj eno naročilo.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id); 
  1. Izhod:
  2. Uporaba NOT z EXISTS Pridobite priimke in imena strank, ki niso oddale nobenega naročila.
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id); 
  1. Izhod:
  2. Uporaba pogoja EXISTS s stavkom DELETE Izbrišite zapis vseh strank iz tabele naročil, katerih priimek je 'Mehra'.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra'); 
SELECT * FROM Orders; 
  1. Izhod:
  2. Uporaba pogoja EXISTS s stavkom UPDATE Posodobite lname kot »Kumari« stranke v tabeli strank, katere customer_id je 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401); 
SELECT * FROM Customers; 
  1. Izhod: