¿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

 

 

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.

Artículos relacionados
3 Comentarios
  • Angel Comentar
    Thursday, February 21, 2019

    ¡Gracias por compartir!

  • David Comentar
    Thursday, March 21, 2019

    Cordial saludo: De antemano agradeciendole por su gestion. Tengo una duda con los JOIN Despues del FROM selecciona la tabla Order y hace el JOIN con la tabla Customer el ON toma el campo CustomerId en la tabla Order y lo iguala con Customer.Id esta ultima campo no lo comprendo de donde sale o como es ? Gracias por su tiempo y pronta respuesta.

  • José Estrada Comentar
    Thursday, March 21, 2019

    El Customer.Id sale de la tabla Customer y el campo es el Id, es el que se relaciona con el CustomerId de la tabla Order, no se si me explico. Si tienes dudas con toda confianza estoy a tus ordenes

Enviame un comentario