Intersect in Sql

Nel linguaggio SQL l'operatore INTERSECT trova i valori in comune in di due o più attributi e li scrive in un'unica colonna.

SELECT att1 FROM tab
INTERSECT
SELECT att2 FROM tab

Dove att1 e att2 sono gli attributi (colonne) mentre tab è la tabella.

Gli attributi possono anche trovarsi in tabelle diverse.

Il risultato di INTERCEPT è una colonna contenente l'intersezione dei valori contenuti nell'attributo att1 e att2.

Nota. Il numero degli attributi a sinistra e a destra deve essere uguale e il dominio dei dati sia compatibile. Gli attributi possono anche essere più di uno. Nel risultato finale il nome delle colonne è definito dai nomi del primo operando (att1). Per cambiarlo basta usare un alias nell'interrogazione di sinistra.

L'operatore INTERCEPT è uno degli operatori insiemistici del linguaggio SQL.

Di default l'intersezione elimina tutti i valori duplicati dal risultato finale.

    Un esempio pratico

    Ho una tabella Studenti

    tabella persone

    Voglio trovare le città in comune nelle colonne Nascita e Residenza.

    Per farlo utilizzo l'operatore INTERCEPT

    SELECT Nascita AS Città FROM Studenti
    INTERCEPT
    SELECT Residenza From Studenti

    Il risultato è l'elenco dei valori in comune nelle due colonne senza valori duplicati.

    il risultato dell'intersezione

    Nota. Nella SELECT ho aggiunto un alias (AS) nella prima selezione per cambiare il nome della colonna da Nascita a Città. In questo modo la colonna del risultato finale si chiama Città e non Nascita.

    E così via.

     


     

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

    FacebookTwitterLinkedinLinkedin
    knowledge base

    SQL