0Pricing
SQL Academy · Lección

UNION, INTERSECT y EXCEPT

Combine conjuntos de resultados compatibles con UNION, encuentre las filas comunes con INTERSECT y obtenga la diferencia con EXCEPT.

UNION, INTERSECT y EXCEPT es una lección gratuita de SQL Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SQL Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SQL Academy incluye 4 lecciones en total.

Descripción general de las operaciones de conjuntos

Tres operadores de conjuntos combinan conjuntos de resultados fila a fila:

  • UNION — filas que están en A O en B (sin duplicados)
  • INTERSECT — filas que están en A Y en B
  • EXCEPT — filas que están en A pero NO en B

UNION

Combine dos conjuntos de resultados y elimine los duplicados:

SELECT email FROM users
UNION
SELECT email FROM newsletter_subscribers;

Compatibilidad de columnas

Ambas consultas deben tener el mismo número de columnas y tipos compatibles:

-- OK:
SELECT email FROM users UNION SELECT email FROM customers;

-- ERROR — different column count:
SELECT email FROM users UNION SELECT email, name FROM customers;

INTERSECT

Filas que aparecen en ambas consultas:

SELECT product_id FROM orders WHERE user_id = 1
INTERSECT
SELECT product_id FROM orders WHERE user_id = 2;
-- Products bought by BOTH users.

EXCEPT

Filas de la primera consulta que no aparecen en la segunda:

SELECT product_id FROM products
EXCEPT
SELECT product_id FROM order_items;
-- Products never ordered.

ORDER BY con operadores de conjuntos

ORDER BY se aplica al resultado combinado completo. Colóquelo al final:

SELECT email FROM users
UNION
SELECT email FROM customers
ORDER BY email;

Operadores de conjuntos y NULL

En las operaciones de conjuntos, dos NULL se consideran iguales: UNION elimina los duplicados e INTERSECT los considera coincidentes. (Es diferente de NULL = NULL en WHERE).

Operadores de conjuntos en subconsultas

Escriba las subconsultas entre paréntesis para mejorar la claridad y combinarlas con LIMIT:

(SELECT id FROM users ORDER BY created_at DESC LIMIT 10)
UNION
(SELECT id FROM users ORDER BY total DESC LIMIT 10);

Precedencia de operadores

INTERSECT tiene mayor precedencia que UNION/EXCEPT. Use paréntesis:

SELECT id FROM a
UNION
SELECT id FROM b
INTERSECT
SELECT id FROM c;
-- means: a UNION (b INTERSECT c)

-- Use parens to force order:
(SELECT id FROM a UNION SELECT id FROM b) INTERSECT SELECT id FROM c;

Rendimiento

UNION ordena los datos para eliminar duplicados. INTERSECT y EXCEPT realizan un trabajo similar. Para conjuntos grandes, prefiera los patrones JOIN/EXISTS y use operaciones de conjuntos solo cuando su semántica encaje claramente.

SQL estándar frente a particularidades de los proveedores

Los tres operadores existen en PostgreSQL. MySQL añadió INTERSECT y EXCEPT en la versión 8.0.31; las versiones anteriores los emulan con JOIN/NOT IN.

Resumen

Los operadores de conjuntos expresan OR/AND/MINUS sobre filas.

  • UNION — combinar y eliminar duplicados
  • INTERSECT — filas comunes
  • EXCEPT — A menos B

Comprobación rápida

¿Qué operador de conjuntos devuelve «las filas de A que NO están en B»?

Preguntas frecuentes

¿La lección «UNION, INTERSECT y EXCEPT» es gratis?

Sí — el texto completo de «UNION, INTERSECT y EXCEPT» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SQL Academy, actualiza a CoddyKit PRO. El curso de SQL Academy incluye 4 lecciones en total.

¿Qué aprenderé en «UNION, INTERSECT y EXCEPT»?

Combine conjuntos de resultados compatibles con UNION, encuentre las filas comunes con INTERSECT y obtenga la diferencia con EXCEPT. Practicas SQL Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar SQL Academy?

No se requiere experiencia previa. SQL Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «UNION, INTERSECT y EXCEPT»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de SQL Academy?

Sí. Cada lección de SQL Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. UNION, INTERSECT y EXCEPT
  2. UNION ALL frente a UNION (coste de eliminar duplicados)
  3. Expresiones CASE y consultas pivot
  4. Patrones de tablas cruzadas (crosstab() de PostgreSQL)
← Volver a SQL Academy