SQL CLAUSOLA ESISTENTE

Esempio

Tabella clienti

Id Nome di battesimo Cognome
1 Ozgur Ozturk
2 Youssef Medi
3 Henry Tai

Tabella degli ordini

Id Identificativo del cliente Quantità
1 2 123.50
2 3 14.80

Ottieni tutti i clienti con almeno un ordine

SELECT * FROM Customer WHERE EXISTS (
    SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)

Risultato

Id Nome di battesimo Cognome
2 Youssef Medi
3 Henry Tai

Ottieni tutti i clienti senza alcun ordine

SELECT * FROM Customer WHERE NOT EXISTS (
    SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)

Risultato

Id Nome di battesimo Cognome
1 Ozgur Ozturk

Scopo

EXISTS , IN e JOIN potrebbero a volte essere utilizzati per lo stesso risultato, tuttavia, non sono uguali:

  • EXISTS dovrebbero essere usati per verificare se un valore esiste in un'altra tabella
  • IN dovrebbe essere usato per la lista statica
  • JOIN dovrebbe essere usato per recuperare i dati dalla (e) tabella (e) di altri (s)