INTERSECT renvoie uniquement les lignes présentes à la fois dans les résultats de la première et de la deuxième requête. Les requêtes doivent correspondre en nombre de colonnes, en ordre et en type. Le résultat de INTERSECT peut contenir des lignes en double.
Plusieurs instructions INTERSECT sont exécutées de gauche à droite si aucune parenthèse n’est spécifiée. L’opérateur INTERSECT a une priorité supérieure aux clauses UNION et EXCEPT.
Exemples
Query
Response
INTERSECT est utile si vous avez deux tables ayant une colonne en commun (ou plusieurs). Vous pouvez effectuer l’intersection des résultats de deux requêtes, à condition que ces résultats contiennent les mêmes colonnes. Par exemple, supposons que nous disposions de quelques millions de lignes de données historiques sur les cryptomonnaies contenant les prix des transactions et les volumes :
Query
Response
holdings contenant une liste des cryptomonnaies que nous possédons, ainsi que le nombre d’unités :
Query
INTERSECT pour répondre à des questions telles que “Quelles cryptomonnaies détenons-nous et lesquelles se sont échangées à un prix supérieur à 100 $ ?” :
Query
Response
INTERSECT DISTINCT
DISTINCT à INTERSECT pour éliminer les lignes en double du résultat :
Query
Response