Pular para o conteúdo principal
A cláusula 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.
A condição pode ser qualquer expressão, dependendo dos seus requisitos.

Exemplos

Veja um exemplo simples que faz a interseção dos números de 1 a 10 com os números de 3 a 8:
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
Agora, suponha que temos uma tabela chamada holdings que contém uma lista das criptomoedas que possuímos, junto com a quantidade de moedas:
Query
Podemos usar INTERSECT para responder a perguntas como “Quais moedas temos que foram negociadas a um preço acima de $100?”:
Query
Response
Isso significa que, em algum momento, Bitcoin e Ethereum foram negociados acima de US100,eDOGEFIeBitcoinDiamondnuncaforamnegociadosacimadeUS 100, e DOGEFI e Bitcoin Diamond nunca foram negociados acima de US 100 (pelo menos com base nos dados deste exemplo).

INTERSECT DISTINCT

Observe que, na consulta anterior, tínhamos várias posições de Bitcoin e Ethereum negociadas acima de $100. Pode ser útil remover linhas duplicadas, já que elas apenas repetem o que já sabemos. Você pode adicionar DISTINCT a INTERSECT para eliminar linhas duplicadas do resultado:
Query
Response
Veja também
Última modificação em 2 de julho de 2026