Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Cláusula Union | Subconsultas Anidadas
SQL Intermedio

bookCláusula Union

Hemos llamado la atención de un cliente que necesita consultas SQL. Antes de adentrarnos en los JOINs, aprendamos sobre la cláusula UNION, que es fundamental para combinar varias tablas.

Aquí hay algunos aspectos importantes sobre el uso de UNION:

  1. Cantidad y orden de columnas: Todas las consultas combinadas con UNION deben tener el mismo número de columnas en el mismo orden;

  2. Tipos de datos: Las columnas en cada consulta deben tener tipos de datos compatibles;

  3. Filas únicas: Por defecto, UNION elimina las filas duplicadas. Utiliza UNION ALL si deseas conservar los duplicados.

Para comprender mejor cómo combinar tablas correctamente usando la cláusula UNION, he introducido una tabla adicional que contiene información sobre los contractors.

No hay mucha información aquí, solo los campos first_name, last_name y email.

Puedes observar que esta tabla tiene similitudes con la tabla employees. Utilizando la cláusula UNION, podemos combinar estas dos tablas para, por ejemplo, ver una lista de todos los nombres y apellidos de empleados y contratistas involucrados en la empresa.

Para lograr esto, utilizaremos la cláusula UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Analicemos lo que está sucediendo:

Tenemos dos consultas que devuelven tres columnas cada una, con los mismos tipos de datos. Queremos ver el Id, first_name y last_name de todas las personas en la empresa. También renombramos la columna Id para que ambas consultas tengan los mismos nombres de columna.

Luego, utilizamos UNION para combinar los resultados de estas consultas, eliminando duplicados (aunque en este caso no hay ninguno).

Finalmente, ordenamos los resultados por Id usando ORDER BY.

Note

Estamos ordenando por Id, que es una columna común en ambas tablas.

Después de usar UNION, obtenemos una "consulta grande única" que podemos manipular aún más con cláusulas como ORDER BY.

No podemos usar directamente WHERE o GROUP BY con tablas combinadas mediante UNION. Para aplicar estas cláusulas, necesitamos utilizar una subconsulta en la sección FROM. Aquí tienes un ejemplo de cómo hacerlo:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

¡Utilizar una subconsulta en la sección FROM nos brinda mayor flexibilidad! Puede parecer complicado al principio, pero dominar esto facilitará mucho la escritura de consultas complejas.

1. ¿Qué columnas se requieren al utilizar la cláusula UNION en SQL?

2. ¿Cómo trata la cláusula UNION las filas duplicadas por defecto?

question mark

¿Qué columnas se requieren al utilizar la cláusula UNION en SQL?

Select the correct answer

question mark

¿Cómo trata la cláusula UNION las filas duplicadas por defecto?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 4

bookCláusula Union

Desliza para mostrar el menú

Hemos llamado la atención de un cliente que necesita consultas SQL. Antes de adentrarnos en los JOINs, aprendamos sobre la cláusula UNION, que es fundamental para combinar varias tablas.

Aquí hay algunos aspectos importantes sobre el uso de UNION:

  1. Cantidad y orden de columnas: Todas las consultas combinadas con UNION deben tener el mismo número de columnas en el mismo orden;

  2. Tipos de datos: Las columnas en cada consulta deben tener tipos de datos compatibles;

  3. Filas únicas: Por defecto, UNION elimina las filas duplicadas. Utiliza UNION ALL si deseas conservar los duplicados.

Para comprender mejor cómo combinar tablas correctamente usando la cláusula UNION, he introducido una tabla adicional que contiene información sobre los contractors.

No hay mucha información aquí, solo los campos first_name, last_name y email.

Puedes observar que esta tabla tiene similitudes con la tabla employees. Utilizando la cláusula UNION, podemos combinar estas dos tablas para, por ejemplo, ver una lista de todos los nombres y apellidos de empleados y contratistas involucrados en la empresa.

Para lograr esto, utilizaremos la cláusula UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Analicemos lo que está sucediendo:

Tenemos dos consultas que devuelven tres columnas cada una, con los mismos tipos de datos. Queremos ver el Id, first_name y last_name de todas las personas en la empresa. También renombramos la columna Id para que ambas consultas tengan los mismos nombres de columna.

Luego, utilizamos UNION para combinar los resultados de estas consultas, eliminando duplicados (aunque en este caso no hay ninguno).

Finalmente, ordenamos los resultados por Id usando ORDER BY.

Note

Estamos ordenando por Id, que es una columna común en ambas tablas.

Después de usar UNION, obtenemos una "consulta grande única" que podemos manipular aún más con cláusulas como ORDER BY.

No podemos usar directamente WHERE o GROUP BY con tablas combinadas mediante UNION. Para aplicar estas cláusulas, necesitamos utilizar una subconsulta en la sección FROM. Aquí tienes un ejemplo de cómo hacerlo:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

¡Utilizar una subconsulta en la sección FROM nos brinda mayor flexibilidad! Puede parecer complicado al principio, pero dominar esto facilitará mucho la escritura de consultas complejas.

1. ¿Qué columnas se requieren al utilizar la cláusula UNION en SQL?

2. ¿Cómo trata la cláusula UNION las filas duplicadas por defecto?

question mark

¿Qué columnas se requieren al utilizar la cláusula UNION en SQL?

Select the correct answer

question mark

¿Cómo trata la cláusula UNION las filas duplicadas por defecto?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5
some-alt