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.

    tabelle sql di esempio

    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 è

    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

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    SQL