logo

SQL | ESISTE

La condizione EXISTS in SQL viene utilizzata per verificare se il risultato di una query nidificata correlata è vuoto (non contiene tuple) o meno. Il risultato di EXISTS è un valore booleano True o False. Può essere utilizzato in un'istruzione SELECT, UPDATE, INSERT o DELETE. Sintassi:

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

Esempi: considerare le seguenti due relazioni Clienti e Ordini.

Interrogazioni



    Utilizzo della condizione EXISTS con l'istruzione SELECT Per recuperare il nome e il cognome dei clienti che hanno effettuato almeno un ordine.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Produzione:
  2. Utilizzando NOT con EXISTS Recupera il cognome e il nome dei clienti che non hanno effettuato alcun ordine.
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Produzione:
  2. Utilizzo della condizione EXISTS con l'istruzione DELETE Elimina il record di tutti i clienti dalla tabella degli ordini il cui cognome è 'Mehra'.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
  1. Produzione:
  2. Utilizzo della condizione EXISTS con l'istruzione UPDATE Aggiorna il nome come 'Kumari' del cliente nella tabella clienti il ​​cui customer_id è 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
  1. Produzione: