INTERSECT
Parte da seção Além do Básico do Journey de SQL da Coddy. Lição 17 de 27.
INTERSECT retorna apenas as linhas que aparecem em ambos os conjuntos de resultados. Assim como UNION, ele remove duplicatas e exige colunas correspondentes em cada lado.
SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_usersIsso representa cada e-mail que está inscrito na newsletter e também pertence a um usuário premium, sem precisar escrever um join.
Por que se dar ao trabalho, quando um JOIN também pode fazer isso? INTERSECT é mais curto quando ambos os lados são SELECTs simples e você está comparando a linha inteira, não apenas um id.
Desafio
FácilTabelas e colunas disponíveis:
newsletter:activepremium:plan
Retorne os e-mails que aparecem como assinantes ativos da newsletter (active = 1) e como usuários premium no plano 'pro'. Ordene alfabeticamente.
Experimente você mesmo
-- filtre cada lado antes de INTERSECT
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Além do Básico
Pratique por conta própria: Playground de SQL