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
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.
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.