🧚 ¡Oye! Beekeeper Studio es una GUI de bases de datos rápida, moderna y de código abierto Descarga
19 de mayo de 2025 Por Matthew Rathbone

Unir tablas es uno de los conceptos más importantes en SQL Server, ya que te permite combinar datos de varias tablas para crear reportes y análisis útiles. Ya sea que estés armando reportes complejos o haciendo análisis de datos, entender cómo funcionan los joins es esencial para cualquier desarrollador SQL.

En esta guía completa, repasaremos cada tipo de join en SQL Server con ejemplos prácticos, explicaciones claras y escenarios reales.

🔖 Referencia rápida: ¿Necesitas consultar algo rápido? Revisa nuestra hoja de referencia de SQL JOIN con todos los tipos de JOIN, diagramas visuales y ejemplos de código en un solo lugar.

Entendiendo los joins en SQL Server

Los joins en SQL Server son operaciones que combinan filas de dos o más tablas con base en una columna relacionada entre ellas. Los tipos de join más comunes son:

  • INNER JOIN: devuelve solo los registros que coinciden en ambas tablas
  • LEFT JOIN: devuelve todos los registros de la tabla izquierda, más los registros coincidentes de la tabla derecha
  • RIGHT JOIN: devuelve todos los registros de la tabla derecha, más los registros coincidentes de la tabla izquierda
  • FULL OUTER JOIN: devuelve todos los registros cuando hay una coincidencia en cualquiera de las tablas

Preparando datos de ejemplo

Para nuestros ejemplos, usaremos dos tablas sencillas que representan un escenario de negocio común:

Tabla Orders:

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    Product NVARCHAR(50),
    OrderDate DATE
);

INSERT INTO Orders VALUES 
(1, 1, 'Laptop', '2024-01-15'),
(2, 2, 'Mouse', '2024-01-16'),
(3, 3, 'Keyboard', '2024-01-17');
OrderID CustomerID Product OrderDate
1 1 Laptop 2024-01-15
2 2 Mouse 2024-01-16
3 3 Teclado 2024-01-17

Tabla Customers:

CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    Name NVARCHAR(50),
    City NVARCHAR(50)
);

INSERT INTO Customers VALUES 
(1, 'John Doe', 'New York'),
(2, 'Jane Smith', 'Los Angeles'),
(4, 'Alex Johnson', 'Chicago');
CustomerID Name City
1 John Doe New York
2 Jane Smith Los Angeles
4 Alex Johnson Chicago

INNER JOIN

Un INNER JOIN devuelve solo las filas que tienen un valor coincidente en ambas tablas. Es el tipo de join más usado y es perfecto cuando solo quieres ver los registros que existen en las dos tablas.

Cuándo usar INNER JOIN

  • Cuando necesitas datos que existen en ambas tablas
  • Para reportes que muestran relaciones completas
  • Cuando quieres excluir registros incompletos

Ejemplo de consulta SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
INNER JOIN Customers c ON o.CustomerID = c.CustomerID;

Resultado

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16

Puntos clave:

  • Solo se devuelven 2 filas (OrderID 3 queda fuera porque CustomerID 3 no existe en la tabla Customers)
  • Solo aparecen en el resultado los clientes que han hecho pedidos
  • La condición del join (o.CustomerID = c.CustomerID) determina qué filas coinciden

LEFT JOIN

Un LEFT JOIN (también llamado LEFT OUTER JOIN) devuelve todas las filas de la tabla izquierda, más las filas coincidentes de la tabla derecha. Cuando no hay coincidencia, aparecen valores NULL en las columnas de la tabla derecha.

Cuándo usar LEFT JOIN

  • Cuando necesitas todos los registros de la tabla principal (tabla izquierda)
  • Para reportes que muestran huecos en los datos o relaciones faltantes
  • Cuando quieres encontrar registros sin coincidencia

Ejemplo de consulta SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
LEFT JOIN Customers c ON o.CustomerID = c.CustomerID;

Resultado

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16
3 NULL NULL Teclado 2024-01-17

Puntos clave:

  • Los 3 pedidos aparecen en el resultado (se conservan todos los datos de la tabla izquierda)
  • OrderID 3 muestra NULL en la información del cliente porque CustomerID 3 no existe en la tabla Customers
  • Útil para identificar pedidos sin datos de cliente válidos

RIGHT JOIN

Un RIGHT JOIN (también llamado RIGHT OUTER JOIN) devuelve todas las filas de la tabla derecha, más las filas coincidentes de la tabla izquierda. Cuando no hay coincidencia, aparecen valores NULL en las columnas de la tabla izquierda.

Cuándo usar RIGHT JOIN

  • Cuando necesitas todos los registros de la tabla derecha
  • Menos común que LEFT JOIN (normalmente puedes reescribirlo como LEFT JOIN)
  • Útil cuando los datos “principales” están en la segunda tabla

Ejemplo de consulta SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
RIGHT JOIN Customers c ON o.CustomerID = c.CustomerID;

Resultado

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16
NULL Alex Johnson Chicago NULL NULL

Puntos clave:

  • Los 3 clientes aparecen en el resultado (se conservan todos los datos de la tabla derecha)
  • Alex Johnson muestra NULL en la información del pedido porque no ha hecho ningún pedido
  • Útil para identificar clientes que no han hecho ninguna compra

FULL OUTER JOIN

Un FULL OUTER JOIN (o simplemente FULL JOIN) devuelve todas las filas cuando hay una coincidencia en cualquiera de las tablas. Combina los resultados de LEFT y RIGHT join, mostrando valores NULL donde no hay coincidencia en alguno de los lados.

Cuándo usar FULL OUTER JOIN

  • Cuando necesitas todos los registros de ambas tablas
  • Para análisis de datos completos
  • Cuando quieres identificar todas las relaciones y huecos entre tablas

Ejemplo de consulta SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
FULL OUTER JOIN Customers c ON o.CustomerID = c.CustomerID;

Resultado

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16
3 NULL NULL Teclado 2024-01-17
NULL Alex Johnson Chicago NULL NULL

Puntos clave:

  • Las 4 filas posibles aparecen en el resultado
  • Muestra tanto pedidos huérfanos (OrderID 3) como clientes sin pedidos (Alex Johnson)
  • Combina la vista completa de LEFT y RIGHT join
  • La imagen más completa de la relación entre tablas

Conclusiones clave

Entender los joins en SQL Server es esencial para consultar bases de datos de forma efectiva. Aquí tienes una referencia rápida:

Tipo de join Devuelve Caso de uso
INNER JOIN Solo registros coincidentes El más común; cuando necesitas relaciones completas
LEFT JOIN Toda la izquierda + coincidencias de la derecha Cuando la tabla izquierda es la principal; para encontrar datos faltantes en la derecha
RIGHT JOIN Toda la derecha + coincidencias de la izquierda Menos común; cuando la tabla derecha es la principal
FULL OUTER JOIN Todos los registros de ambas Análisis completo; para encontrar todas las relaciones y huecos

Buenas prácticas

  1. Usa alias de tabla (o para Orders, c para Customers) para que tus consultas sean más limpias
  2. Empieza con INNER JOIN si no estás seguro y luego ajusta según lo que necesites
  3. Usa LEFT JOIN más seguido que RIGHT JOIN para que sea más legible
  4. Especifica siempre la condición del join con la cláusula ON
  5. Toma en cuenta el rendimiento: los joins sobre columnas indexadas son más rápidos

Consejos para practicar

Para dominar los joins en SQL Server:

  1. Empieza con conjuntos de datos pequeños como los ejemplos de arriba
  2. Dibuja diagramas de Venn para visualizar qué devuelve cada join
  3. Experimenta con distintas estructuras de tablas y relaciones
  4. Usa SQL Server Management Studio o Beekeeper Studio para practicar
  5. Prueba casos límite como valores NULL y relaciones faltantes

Recuerda: los joins son fundamentales en las bases de datos relacionales. Una vez que los domines, podrás crear consultas potentes que saquen información valiosa de tus datos.

Beekeeper Studio es un cliente de bases de datos gratuito y de código abierto

La mejor herramienta de consultas y edición de SQL que he usado. Tiene todo lo que necesito para administrar mi base de datos. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio es rápido, intuitivo y fácil de usar. Es compatible con muchísimas bases de datos y funciona de maravilla en Windows, Mac y Linux.

La versión de Beekeeper para Linux tiene el 100% de las funciones, sin recortes ni concesiones.

Lo que dicen los usuarios de Beekeeper Studio

★★★★★
"Beekeeper Studio reemplazó por completo mi antiguo flujo de trabajo con SQL. Es rápido, intuitivo y hace que trabajar con bases de datos vuelva a ser agradable."
— Alex K., desarrollador de bases de datos
★★★★★
"He probado muchas GUI de bases de datos, pero Beekeeper logra el equilibrio perfecto entre funciones y simplicidad. Simplemente funciona."
— Sarah M., ingeniera Full Stack

¿Listo para mejorar tu flujo de trabajo con SQL?

download Descarga gratis