Concepto
JOIN pone tablas lado a lado; UNION las apila, una debajo de otra. Sirve para juntar en una sola lista los resultados de dos consultas distintas, como "los cursos intermedios y los cursos largos".
SELECT columna FROM tabla WHERE condición_1
UNION
SELECT columna FROM tabla WHERE condición_2;UNION quita los repetidos. Si una fila aparece en las dos consultas, queda una sola vez.
SELECT titulo FROM cursos WHERE nivel = 'Intermedio'
UNION
SELECT titulo FROM cursos WHERE horas >= 30;UNION ALL los conserva. Es más rápido, y sirve cuando los repetidos importan, por ejemplo para contar cuántas veces aparece algo.
SELECT titulo FROM cursos WHERE nivel = 'Intermedio'
UNION ALL
SELECT titulo FROM cursos WHERE horas >= 30;Compara los dos resultados: "Reportes con SQL" y "Python para análisis" son intermedios y largos, y con UNION ALL aparecen dos veces.
Las columnas tienen que calzar. Las dos consultas deben devolver la misma cantidad de columnas, en el mismo orden y con tipos compatibles. El nombre de las columnas del resultado sale de la primera consulta.
UNION o WHERE con OR. Si las dos partes leen de la misma tabla, un WHERE ... OR ... suele bastar. UNION se vuelve necesario cuando cada parte necesita su propio FROM o sus propios JOIN.
> tarea SQL
La escuela invita a un conversatorio a dos grupos: quienes viven en Santiago y quienes tienen alguna nota de 6.5 o más. Arma la lista de invitados sin nombres repetidos, con una sola columna: nombre.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.