La clausola Any in SQL
In SQL l'operatore ANY è soddisfatto se almeno un confronto è vero. Si usa nelle select nidificate.
Un esempio pratico
Ho due tabelle Persone e Italia.
Scrivo una select nidificata per cercare i nomi delle persone che risiedono in Lombardia.
Nella select uso la clausola ANY con l'operatore di uguaglianza =.
SELECT Nome, Cognome, Residenza FROM PERSONE
WHERE Residenza = ANY ( SELECT Città FROM Italia WHERE Regione = 'Lombardia' )
L'abbinamento = ANY equivale a dire "trova almeno un confronto uguale".
Il DBMS esegue la select interna ed estrapola le città lombarde di "Bergamo" e "Milano".
Poi esegue la select esterna per estrarre le righe della tabella Persone in cui la residenza è uguale ad almeno un risultato della select interna.
Il risultato della query è
Nota. Lo stesso risultato può essere ottenuto usando una condizione JOIN. La scelta tra la Join e la select nidificata dipende dalla leggibilità della query.
E così via