SQL

Cómo consultar datos de varias tablas con INNER JOIN de SQL Server

Estrada Web Group
Estrada Web Group
Cómo consultar datos de varias tablas con INNER JOIN de SQL Server

Resumen: en este tutorial, aprenderás a usar la cláusula INNER JOIN de SQL Server para consultar datos de varias tablas.

Introducción a INNER JOIN de SQL Server

INNER JOIN es una de las combinaciones más utilizadas en SQL Server. La cláusula INNER JOIN te permite consultar datos de dos o más tablas relacionadas, otras cláusulas que puedes utilizar para hacer combinaciones entre tablas son LEFT JOIN y RIGHT JOIN.

Consulta las siguientes tablas de productos y categorías de la base de datos de ejemplo:

inner join

La siguiente declaración SELECT recupera la información de los productos de la tabla production.products:

SELECT
    product_name,
    list_price,
    category_id
FROM
    production.products
ORDER BY
    product_name DESC;

Resultado:

sql server inner join

La consulta arrojó solo una lista de números de identificación de categoría, no los nombres de las categorías. Para incluir los nombres de las categorías en el conjunto de resultados, utiliza la cláusula INNER JOIN de la siguiente manera:

SELECT
    product_name,
    category_name,
    list_price
FROM
    production.products p
INNER JOIN production.categories c 
    ON c.category_id = p.category_id
ORDER BY
    product_name DESC;

Resultado:

usar INNER JOIN para consultar dos tablas

En esta consulta:

La c y p son los alias de las tablas production.categories y production.products. Al hacer esto, cuando hace referencia a una columna en esta tabla, puede usar alias.column_name en lugar de usar table_name.column_name. Por ejemplo, la consulta usa c.category_id en lugar de production.categories.category_id.

Para cada fila de la tabla production.products, la cláusula INNER JOIN empareja cada fila de la tabla product.categories según los valores de la columna category_id:

  • Si ambas filas tienen el mismo valor en la columna category_id, la combinación interna forma una nueva fila cuyas columnas son de las filas de las tablas production.categories y production.products de acuerdo con las columnas de la lista de selección e incluye esta nueva fila en la conjunto resultante.
  • Si la fila de la tabla production.products no coincide con la fila de la tabla production.categories, la cláusula INNER JOIN simplemente ignora estas filas y no las incluye en el conjunto de resultados.

Sintaxis de INNER JOIN de SQL Server

A continuación, se muestra la sintaxis de la cláusula INNER JOIN de SQL Server:

SELECT
    select_list
FROM
    T1
INNER JOIN T2 ON join_predicate;

En esta sintaxis, la consulta recuperó datos de las tablas T1 y T2:

  • Primero, se especifica la tabla principal (T1) en la cláusula FROM
  • En segundo lugar, se especifica la segunda tabla en la cláusula INNER JOIN (T2) y un predicado de combinación. Solo las filas que hacen que el predicado de combinación se evalúe como TRUE se incluyen en el conjunto de resultados.

La cláusula INNER JOIN compara cada fila de la tabla T1 con las filas de la tabla T2 para encontrar todos los pares de filas que satisfacen el predicado de combinación. Si el predicado de unión se evalúa como VERDADERO, los valores de columna de las filas coincidentes de T1 y T2 se combinan en una nueva fila y se incluyen en el conjunto de resultados.

La siguiente tabla ilustra la unión interna de dos tablas T1 (1,2,3) y T2 (A, B, C). El resultado incluye filas: (2, A) y (3, B) ya que tienen los mismos patrones.

inner join de sql de varias tablas

Ten en cuenta que la palabra clave INNER es opcional, puedes omitirla como se muestra en la siguiente consulta:

SELECT
    select_list
FROM
    T1
JOIN T2 ON join_predicate;

Más ejemplos de INNER JOIN de SQL Server

Consulta las siguientes tablas de productos, categorías y marcas:

Como hacer un INNER JOIN con tres tablas de SQL Server

La siguiente declaración utiliza dos cláusulas INNER JOIN para consultar datos de las tres tablas:

SELECT
    product_name,
    category_name,
    brand_name,
    list_price
FROM
    production.products p
INNER JOIN production.categories c ON c.category_id = p.category_id
INNER JOIN production.brands b ON b.brand_id = p.brand_id
ORDER BY
    product_name DESC;

Resultado:

aprende a usa INNER JOIN

En este tutorial, has aprendido a utilizar la cláusula INNER JOIN de SQL Server para consultar datos de varias tablas.

Compartir artículo:

Más artículos geniales

¿Cómo crear una tabla en SQL Server?

¿Cómo crear una tabla en SQL Server?

En este tutorial, aprenderá a usar la instrucción CREATE TABLE de SQL Server para crear una nueva tabla.

Ver artículo completo
¿Qué es y para qué sirve NOW en SQL Server?

¿Qué es y para qué sirve NOW en SQL Server?

Resumen: en este artículo sobre NOW de SQL Server aprenderás sobre su utilidad, cómo utilizarla. También conocerás algunos ejemplos prácticos de uso y algunas recomendaciones para su uso adecuado

Ver artículo completo
¿Qué es y para qué sirve SQL UNION?

¿Qué es y para qué sirve SQL UNION?

En este tutorial, aprenderá a usar SQL UNION para combinar los resultados de dos o más tablas en un solo conjunto de resultados.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla