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.

    tabelle sql di esempio

    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 è

    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

     


     

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

    FacebookTwitterLinkedinLinkedin
    knowledge base

    SQL