En el desarrollo de programas con bases de datos, saber para qué se utilizan los comandos union y union all es muy importante, pues te permiten interactuar con las bases de datos, realizar consultas y poder desarrollar otros programas de código que necesiten un punto fundamental desde donde empezar. Así, para ayudarte a convertirte en un experto en Big Data desde sus bases principales, a continuación te contaremos para qué se utilizan los comandos union y union all.
¿Para qué se utilizan los comandos union y union all?
En la creación y consulta de bases de datos con el lenguaje de computación de SQL, en máquinas virtuales como MySQL dentro de Virtual Box, hay muchos comandos y elementos que se necesitan para desarrollar este tipo de programas del sector IT.
Comandos como JOIN, LEFT OUTER JOIN o RIGHT OUTER JOIN, de los que hablamos en un artículo anterior de KeepCoding, son muy importantes para realizar los proyectos de datos. Union y union all son otros de los comandos más importantes.
En qué consiste union
En primer lugar, el comando union se utiliza para controlar y emplear dos o más tablas de una base de datos cualquiera. El comando UNION es el encargado de combinar los resultados de dos tablas, pero limitando la entrada de registros duplicados.
Es decir, si tienes dos tablas que comparten datos en los campos relacionados con el tema general de la base de datos, vas a ver cómo el comando UNION, en su resultado, no tendrá esos recursos duplicado, sino uno solo.
A continuación, te mostraremos cómo puedes utilizar este comando después de haber creado el par de tablas que vamos a unir en un paso posterior. En principio, vamos a crear dos tablas, un proceso que hemos extraído de un ejercicio práctico de una de nuestras entregas del bootcamp, donde nos enfocamos en crear una base de datos de la serie animada Los Simpson. Estas tablas están relacionadas con el género de los personajes. En primer lugar, la tabla de los hombres que se relacionan con el id 1 de sexo:
CREATE TABLE TMP_PERSONAJES_HOMBRES AS
SELECT *
FROM PERSONAJES
WHERE ID_SEXO = 1;
CREATE TABLE TMP_PERSONAJES_MUJERES AS
SELECT *
FROM PERSONAJES
WHERE ID_SEXO = 2;
Después de haber creado las dos tablas para cada uno de los géneros binarios, podrás unir las dos, dejando de lado los registros duplicados. Aunque en este caso es muy improbable que aparezcan, dado el objeto de la tabla, puede haber un error. Así pues, para unir ambas tablas sin registros duplicados, utilizarás el comando UNION de la siguiente manera:
CREATE TABLE TMP_PERSONAJES
SELECT *
FROM TMP_PERSONAJES_HOMBRES
UNION
SELECT *
FROM TMP_PERSONAJES_MUJERES;
Al finalizar, podrás visualizar la tablas que acabas de crear con el siguiente comando:
SELECT *
FROM TMP_PERSONAJES;
En qué consiste union all
Al igual que con union, union all es un comando que se utiliza para controlar o emplear dos o más tablas dentro de una base de datos. El comando UNION ALL es el elemento encargado de unir los registros de dos tablas de datos, almacenando, a su vez, los datos duplicados.
De esta manera, si tienes dos tablas que comparten datos en los campos en cualquiera de las bases, vas a ver cómo el comando UNION ALL, en su resultado, tendrá todos los registros de ambas tablas, así como los datos o registros duplicados.
Así pues, para unir las dos tablas tendrás que, primero, tener creadas las dos tablas que unirás posteriormente. Para ello, utilizaremos el mismo proceso y tema que ya hemos propuesto:
CREATE TABLE TMP_PERSONAJES_HOMBRES AS
SELECT *
FROM PERSONAJES
WHERE ID_SEXO = 1;
CREATE TABLE TMP_PERSONAJES_MUJERES AS
SELECT *
FROM PERSONAJES
WHERE ID_SEXO = 2;
Una vez creadas las tablas, vas a utilizar el comando de UNION ALL y construirás una tabla en conjunto:
CREATE TABLE TMP_PERSONAJES
SELECT *
FROM TMP_PERSONAJES_HOMBRES
UNION ALL
SELECT *
FROM TMP_PERSONAJES_MUJERES;
De esta manera, vas a poder visibilizar la tabla en tu máquina virtual:
SELECT *
FROM TMP_PERSONAJES;
Ya que has terminado de leer este artículo y ahora sabes para qué se utilizan los comandos union y union all, seguramente vas a ver su funcionalidad en la realización de bases de datos y en la consulta de las mismas.
De todas formas, estos solo son un par de todos los conceptos que podrías integrar en el desarrollo de tus proyectos con bases de datos; por eso, si deseas conocer más, te invitamos a revisar el temario de nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. ¡Pide información y cambia tu vida laboral ahora mismo!