INTERSECT
Parte de la sección Más allá de lo básico del Journey de SQL de Coddy — lección 17 de 27.
INTERSECT devuelve solo las filas que aparecen en ambos conjuntos de resultados. Al igual que UNION, elimina duplicados y requiere columnas coincidentes en cada lado.
SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_usersEsos son todos los correos electrónicos que están suscritos al boletín y son usuarios premium, sin escribir un join.
¿Por qué molestarse?, ¿cuando un JOIN también puede hacer esto? INTERSECT es más corto cuando ambos lados son SELECTs simples y estás comparando la fila completa, no solo un id.
Desafío
FácilTablas y columnas disponibles:
<strong>newsletter</strong>:<strong>email</strong>,<strong>active</strong><strong>premium</strong>:<strong>email</strong>,<strong>plan</strong>
Devuelve los correos electrónicos que aparecen como suscriptores activos del boletín (active = 1) y como usuarios premium en el plan 'pro'. Ordena alfabéticamente.
Hoja de referencia
INTERSECT devuelve solo las filas que aparecen en ambos conjuntos de resultados (se eliminan los duplicados, las columnas deben coincidir):
SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_usersUsa INTERSECT en lugar de un JOIN cuando se comparan filas completas a través de dos SELECTs simples.
Pruébalo tú mismo
-- filtrar cada lado antes de INTERSECT
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.