SQL: Uniones internas

Rodrigo Ricardo Publicado el 14 noviembre, 2020 3 minutos y 3 segundos de lectura

Una unión común

El INNER JOIN es el más común de SQL unirse. De hecho, es tan común que también se llama unión simple. Pero esto no significa que no sea poderoso. La consulta recuperará todas las filas de datos de las tablas en las que una condición específica coincide en ambas tablas. Si tiene una tabla de clientes y una tabla de pedidos, se puede escribir una consulta INNER JOIN para devolver todos los nombres de clientes que han pedido un producto específico.

Ejemplo

Usemos un ejemplo de una base de datos de música, donde almacenamos artistas, álbumes, información de género, etc. Queremos unir algunos datos de álbumes con datos de género; en nuestra base de datos, estas tablas comparten la clave genreID. La siguiente figura muestra los datos que extraeremos de las dos tablas:

Visualización de unión interna SQL

Otra forma de indicar la visualización es que la consulta devolverá registros donde las tablas se cruzan . Es el conjunto de datos que es igual cuando las tablas se unen. De ahí el término INNER JOIN!

Para ver cómo funcionaría la combinación en la práctica, imaginemos nuestra tabla de álbumes de la siguiente manera:

albumIDartistIDTítulo del álbumfecha de lanzamientogenreID
15 30 Rattle and Hum 1988 27
25 90 Favoritos populares 1993 36
30 95 Grandes éxitos de Mozart 2005 12

Y la tabla de géneros almacena la siguiente información:

genreIDgénero
27 Rock
36 Gente
12 Clásico

Para realizar un INNER JOIN en las tablas anteriores, podemos crear una consulta SQL simple. La sintaxis completa de la consulta es la siguiente:

SELECCIONAR albumTitle, genre 
FROM tblAlbum
INNER JOIN tblGenre
ON tblAlbum.genreID = tblGenre.genreID

Echemos un vistazo a cada palabra clave (las palabras que están TODAS EN MAYÚSCULAS en el código):

SELECCIONE

Aquí especificamos qué tablas / campos unir: Se escribe el nombre de la tabla, seguido de un punto, y luego el (los) campo (s) que desea ver. ¡Los campos deben existir en las tablas que especifique!

DESDE

Enumere la PRIMERA tabla desde la que está consultando. En nuestro ejemplo, hemos decidido consultar el álbum y la tabla de géneros, en ese orden. Por lo tanto, comenzaremos con la tabla de álbumes (tblAlbum).

UNIR INTERNAMENTE

Este es el homónimo de la declaración. Aquí indicamos la SEGUNDA tabla que estamos consultando. En nuestro ejemplo, seleccionamos la tabla de género (tblGenre).

EN

Después de esta declaración, necesitamos especificar las condiciones para nuestra consulta. En otras palabras, queremos obtener el ID de género de la tabla de géneros que coincide con el campo de ID de género en la tabla de artistas.

Resultados de la consulta

Ahora que hemos cubierto cada parte de la consulta, eche otro vistazo rápido a la consulta completa:

SELECCIONAR albumTitle, genre 
FROM tblAlbum
INNER JOIN tblGenre
ON tblAlbum.genreID = tblGenre.genreID

Cuando ejecutamos la consulta, los resultados se verían así:

Título del álbum género
Rattle and Hum Rock
Favoritos populares Gente
Grandes éxitos de Mozart Clásico

Resumen de la lección

Un INNER JOIN es uno de los tipos de consulta más comunes en SQL. Debido a que no es complicado, también se denomina combinación simple, aunque sigue siendo eficaz. La consulta devuelve registros que coinciden en ambas tablas, donde se cumple una condición específica en ambas tablas. Por ejemplo, unirse a una tabla de Empleado y Vacaciones donde el plan de vacaciones era el mismo en ambos. Un INNER JOIN devuelve datos donde las dos tablas se cruzan cuando las dos tablas se unen.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador