Utilizzare Intersect e Except per filtrare set di dati in TSql

di Stefano Mostarda, in LINQ,

Quando in SQL vogliamo filtrare un set di dati intersecandolo con i dati provenienti da una subquery possiamo usare la clausola IN oppure una JOIN. Un'altra possibilità è quella di usare le clausole Intersect ed Except. Con queste clausole possiamo prendere due query e filtrare i dati della prima in base ai dati della seconda. Se usiamo Intersect prendiamo i dati della prima query che sono presenti anche nella seconda, mentre se usiamo Except prendiamo i dati della prima che non sono presenti nella seconda. Prendiamo come sempio le seguenti query.

SELECT Id
FROM avvisi
INTERSECT
SELECT IDAvviso
FROM AreeAvviso

SELECT Id
FROM avvisi
EXCEPT
SELECT IDAvviso
FROM AreeAvviso

Nel primo caso prendiamo l'id degli avvisi che hanno almeno un'area, nel secondo caso prindiamo l'id degli avvisi che non hanno un'area.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi