La clausola ALL in Sql
In SQL la clausola ALL è soddisfatta se tutti i confronti sono veri. Si utilizza nelle select nidificate.
Un esempio pratico
Ho due tabelle Persone e Italia.
Scrivo una select nidificata per trovare le persone che non risiedono in Lombardia.
Nell'interrogazione uso la clausola ALL dopo l'operatore <> (diverso).
SELECT Nome, Cognome, Residenza FROM PERSONE
WHERE Residenza <> ALL ( SELECT Città FROM Italia WHERE Regione = 'Lombardia' )
L'abbinamento <> ALL equivale a dire "è diverso da tutto".
Il DBMS esegue la select interna ed estrapola le città lombarde di "Bergamo" e "Milano" dalla tabella Italia.
Poi esegue la select esterna per estrarre le righe della tabella Persone in cui la residenza non è uguale a nessun risultato della select interna.
Il risultato della query è
Nota. Il risultato si può ottenere anche con una condizione JOIN. La scelta tra select nidificata e la Join dipende dalla leggibilità della query.
E così via