SQL: UNION vs. JOIN

Avatar del autor
Publicado el • Actualizado el • 4 minutos y 29 segundos de lectura
Ver mi bloc de notas

Mis Artículos Guardados

UNIÓN vs UNIÓN

Si bien puede que no siempre lo parezca, hay ocasiones en las que querrá crear una forma de ver los datos sin crear una nueva tabla. Tal vez una nueva tabla ralentizaría demasiado su base de datos, o tal vez simplemente sería más fácil elegir los datos que necesita en el momento para hacer las cosas. En ese caso, querrá conocer las opciones UNION y JOIN en SQL. Sin embargo, como demostrará esta lección, las dos funciones realizan tareas bastante diferentes y no es aconsejable confundirlas.

¿Qué hace UNION?

Comencemos con UNION porque quizás sea el más sencillo de los dos. UNION simplemente agrega las partes relevantes de dos tablas juntas. De esta manera, no tiene que cambiar constantemente de tabla, sino que puede realizar una UNION rápida para obtener toda la información que necesita. La información adicional aparecerá debajo de la información existente, ordenada por la tabla original. Veamos esto en acción.

Ejemplo de UNION

Imagina que la universidad en la que trabajas ha comenzado una importante iniciativa de recaudación de fondos y, en lugar de pedirle a cada universidad o escuela que ayude a obtener más fondos, te han pedido que construyas una tabla maestra de todos los donantes principales para toda la universidad. . Ahora podría pasar horas y horas creando esta nueva base de datos, pero sería mucho más fácil usar un comando UNION. Así es como lo harías.

Supongamos que está combinando datos de dos tablas diferentes, ‘universidad_universitaria’ y ‘escuela_empresarial’. Ahora, podría simplemente enumerar estos dos, pero puede haber algo de superposición: ¿tal vez alguien que estudió inglés como estudiante regresó para su MBA? En su lugar, querrá ordenar otros nombres. Para hacer eso, usaremos el número de identificación del estudiante.

  Aplicación práctica para la introducción a SQL: instalación de datos de muestra para MySQL

A continuación, se muestra un fragmento de la tabla de la Universidad de pregrado ( undergrad_college ):

Identificación del Estudiantenombre del estudianteestudiante
1004Jane Eyreeyre.jane@mycollege.edu
1005Sherlock Holmesholmes.sherlock@mycollege.edu
1006Rey Skywalkerskywalker.rey@mycollege.edu
1007Pastel de carnemeatloaf@mycollege.edu

A continuación, se muestra un fragmento de Business College ( business_college ):

Identificación del Estudiantenombre del estudianteestudiante
1004Jane Eyreeyre.jane@mycollege.edu
2095Harriet Tubmanharriet.tubman@buscollege.edu
2099Andrés Segoviaandres.segovia@buscollege.edu
1007Pastel de carnemeatloaf@mycollege.edu

A continuación, ingrese el siguiente comando SQL para crear la unión:

SELECCIONE el nombre de la universidad universitaria 
UNIÓN
SELECCIONE el nombre de la universidad comercial
DONDE el ID del estudiante NO ESTÁ EN
(SELECCIONE el nombre de la universidad universitaria);

Es así de simple: pronto tendrá su lista combinada sin nombres redundantes, como se muestra en la siguiente tabla:

Identificación del Estudiantenombre del estudianteestudiante
1004Jane Eyreeyre.jane@mycollege.edu
1005Sherlock Holmesholmes.sherlock@mycollege.edu
1006Rey Skywalkerskywalker.rey@mycollege.edu
1007Pastel de carnemeatloaf@mycollege.edu
2095Harriet Tubmanharriet.tubman@buscollege.edu
2099Andrés Segoviaandres.segovia@buscollege.edu

¿Qué hace JOIN?

Piense en JOIN como una forma de combinar dos tablas diferentes. Se basa en los datos almacenados en columnas similares de cada uno y luego combina los datos nuevos que se indican junto con los datos correlacionados. Por ejemplo, si estuviera realizando un seguimiento de una selección de exalumnos de una universidad, podría unir datos de la base de datos general, la que muestra su nombre, año de graduación y dirección actual, con la base de datos financiera, o la que muestra cuánto dinero le han dado a la universidad en el pasado. No termina con un montón de registros superfluos que tiene que ir y emparejar más tarde: SQL se encarga de todo eso por usted.

  Panorama general de la Unión Internacional de Química Pura y Aplicada

Ejemplo de JOIN

Ya que estamos en el tema de las universidades, creemos una tabla para exalumnos y le damos un nombre inteligente, como exalumnos . Recién estamos comenzando a dar, así que la mesa es pequeña:

alum_IDalumni_name
4005Cuenta
4010Alicia
4015Jane
4020Paul
4025Jack

A continuación, tenemos una tabla que almacena la cantidad que los exalumnos han dado a la universidad. Eso se almacena en una tabla llamada alumni_giving :

alum_IDcantidad
4005100
4025500
40151500

Observe que un campo común en ambas tablas es la columna alum_ID . Para unir las dos tablas, necesitamos este campo común. Nuestra sintaxis será la siguiente:

SELECCIONE nombre_alumno, cantidad 
 DESDE los exalumnos ÚNETE a alumni_giving
 ON alum_ID = alum_ID

Observe cómo especificamos la acción, JOIN, para conectar las tablas. El comando ON le dice a SQL qué campo estamos usando para la operación de unión. Los resultados de la operación se muestran en la siguiente tabla. Observe cómo solo recupera los registros que coinciden. Esto se debe a que está buscando valores de alum_ID que se encuentran en ambas tablas.

alumni_namecantidad
Cuenta100
Jack500
Jane1500

Resumen de la lección

UNION y JOIN son dos comandos muy útiles, aunque diferentes, en SQL. UNION le permite unir listas e incluso le permite evitar nombres redundantes. JOIN, por otro lado, le permite combinar columnas seleccionadas de una tabla con registros relevantes de otra para crear un retorno enfocado.

Continúa con:

  1. Negocios

    Tabla SQL TRUNCATE: Tutorial y explicación

    TRUNCATE SQL SQL TRUNCATE se utiliza para eliminar todas las filas de una tabla. La...

  2. Historia Mundial

    Estrategias de recuperación en la Unión Soviética y Europa del Este

    El Plan Marshall Comencemos esta lección revisando rápidamente el programa de recuperación estadounidense para la...

  3. Negocios

    ¿Qué son las funciones SQL? – Uso y ejemplos

    Funciones SQL: ¿Qué son? Las funciones SQL son simplemente subprogramas, que se usan y reutilizan...

  4. Negocios

    SQL: EXISTE, NO EXISTE Y CON

    Introducción a los operadores Los operadores EXISTS , NOT EXISTS y WITH son términos predefinidos...

Selecciona un tema para seguir aprendiendo