INTERSECT retorna apenas as linhas resultantes da primeira e da segunda consulta. As consultas devem corresponder em número de colunas, ordem e tipo. O resultado de INTERSECT pode conter linhas duplicadas.
Várias instruções INTERSECT são executadas da esquerda para a direita se os parênteses não forem especificados. O operador INTERSECT tem prioridade mais alta que as cláusulas UNION e EXCEPT.
Exemplos
Query
Response
INTERSECT é útil quando você tem duas tabelas que compartilham uma ou mais colunas. É possível fazer a interseção dos resultados de duas consultas, desde que eles contenham as mesmas colunas. Por exemplo, suponha que tenhamos alguns milhões de linhas de dados históricos de criptomoedas contendo preços de negociação e volume:
Query
Response
holdings que contém uma lista das criptomoedas que possuímos, junto com a quantidade de moedas:
Query
INTERSECT para responder a perguntas como “Quais moedas temos que foram negociadas a um preço acima de $100?”:
Query
Response
INTERSECT DISTINCT
DISTINCT a INTERSECT para eliminar linhas duplicadas do resultado:
Query
Response