¿Qué es y para que sirve SQL Joins?

Una cláusula SQL JOIN se usa para combinar filas de dos o más tablas, en función de una columna relacionada entre ellas.
Veamos las características principales de SQL JOIN:
- SQL JOIN combina registros de dos tablas.
- Un SQL JOIN localiza los valores de columnas relacionadas en las dos tablas.
- Una consulta puede contener cero, uno o múltiples operaciones JOIN.
- SQL INNER JOIN es lo mismo que SQL JOIN; la palabra clave INNER es opcional.
Otros artículos que te ayudaran en SQL
- ¿Qué es SQL LIKE y para que sirve?
- ¿Qué es SQL injection y Cómo funciona en los SQL Query?
- Cómo obtener las filas de una tabla que no están en otra tabla en SQL Server
- Cómo eliminar filas duplicadas en SQL Server, MySql y Oracle
- Cómo eliminar los espacios en blanco en SQL
- ¿Cómo agregar una columna a una tabla en SQL?
Diferentes tipos de SQL JOINs
Estos son los diferentes tipos de SQL JOINs, puedes ver la imagen principal para darte una idea visual:
- (INNER) JOIN: devuelve registros que tienen valores coincidentes en ambas tablas
- LEFT (OUTER) JOIN: Devuelve todos los registros de la tabla de la izquierda y los registros coincidentes de la tabla de la derecha
- RIGHT (OUTER) JOIN: devuelva todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda
- FULL (OUTER) JOIN: devuelve todos los registros cuando hay una coincidencia en la tabla izquierda o derecha
Sintaxis SQL JOIN ejemplos
La sintaxis general es:
SELECT column-names
FROM table-name1 JOIN table-name2
ON column-name1 = column-name2
WHERE condition
La sintaxis general con INNER es:
SELECT column-names
FROM table-name1 INNER JOIN table-name2
ON column-name1 = column-name2
WHERE condition
Nota: Recuerda que la palabra clave INNER es opcional: es la operación JOIN por defecto y la más utilizada comúnmente.
Tenemos dos tablas la de órdenes(ORDER) y clientes(CUSTOMER), en el ejemplo siguiente voy hacer una lista de todas las órdenes con información del cliente. La estructura y el ejemplo lo puedes ver a continuación.
ORDER |
---|
Id |
OrderDate |
OrderNumber |
CustomerId |
TotalAmount |
CUSTOMER |
---|
Id |
FirstName |
LastName |
City |
Country |
Phone |
SELECT OrderNumber, TotalAmount, FirstName, LastName, City, Country
FROM Order JOIN Customer
ON Order.CustomerId = Customer.Id
El resultado será el siguiente:
OrderNumber | TotalAmount | FirstName | LastName | City | Country |
---|---|---|---|---|---|
542378 | 440.00 | Paul | Henriot | Reims | France |
542379 | 1863.40 | Karin | Josephs | Münster | Germany |
542380 | 1813.00 | Mario | Pontes | Rio de Janeiro | Brazil |
542381 | 670.80 | Mary | Saveley | Lyon | France |
542382 | 3730.00 | Pascale | Cartrain | Charleroi | Belgium |
542383 | 1444.80 | Mario | Pontes | Rio de Janeiro | Brazil |
542384 | 625.20 | Yang | Wang | Bern | Switzerland |
Recuerda compartir el artículo en tus redes sociales y mandarme todos tus comentarios.