Inner Join en SQL Server

La palabra reservada Inner Join en SQL Server un comúnmente utilizado para enlazar dos tablas mediante un valor coincidente.

Se obtienen los resultados al igualar un campo de dos tablas, si no existe igualdad en los campos no regresara resultados.

Inner Join en SQL Server

¿Cómo se utiliza?

Para este ejemplo utilizare la base de datos NorthWind que puedes descargarlo directamente en este post.

Con la siguiente consulta veremos claramente la utilización de Inner Join.

SELECT
	ProductName, CategoryName
FROM
	Products INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;
  • Obtendremos información de dos tablas Products y Categories.
  • Después del SELECT se colocan las columnas de las tablas igualadas.
  • Seguido de FROM se coloca la tabla principal (Products).
  • Enseguida de la primera tabla se coloca INNER JOIN.
  • Delante de JOIN se agrega la segunda tabla (Categories).
  • Después de la segunda tabla se agrega ON.
  • Realizamos la igualdad entre las columnas que tiene en común en ambas tablas (CategoryID).

Con esta consulta obtenemos el contenido de las dos tablas, siempre que en CategoryID sean igual en las dos tablas.

Un Inner Join

La consulta no solo está limitada a un INNER JOIN, es posible agregarlo n número de veces.

En el ejemplo siguiente agregamos dos INNER para obtener el valor de otra columna en común.

SELECT
	ProductName, CategoryName, CompanyName
FROM
	Products INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID
			INNER JOIN Suppliers ON Products.SupplierID = Suppliers.SupplierID;

Después de la igualdad del primer INNER se agrega el segundo, siguiendo la misma estructura que la primera.

Con esta consulta obtenemos otra columna que existe en ambas tablas.

Doble Inner Join

Podría interesarte ORDER BY y UNION en SQL Server  

Es importante mencionar que es necesario especificar en la igualación del INNER la tabla de procedencia de la columna.

INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID

Debido a que si no se especifica se genera un error de ambigüedad, ya que el nombre de las columnas es igual en las tablas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *