¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Diferencia entre Inner Join y Left Outer Join: Ejemplos y Cuándo Utilizarlos

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 431 Vistas
0
Cargando...

Hola a todos,

¿Alguien puede explicarme la diferencia entre un inner join y un left outer join con un ejemplo?

¿Y cuándo deberíamos usar un left outer join?

Saludos,

haritha

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola,

La diferencia entre inner join y outer join es:

Inner join significa que selecciona solo los mismos datos en ambas tablas.

Outer join significa que primero selecciona los mismos datos y luego selecciona datos diferentes de ambas tablas.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Sencillo y directo.

Gracias.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Haritha,

Usando Joins podemos seleccionar datos de dos tablas con la palabra clave JOIN, como se muestra a continuación:

Ejemplo INNER JOIN

Sintaxis

SELECT campo1, campo2, campo3

FROM primera_tabla

INNER JOIN segunda_tabla

ON primera_tabla.campollave = segunda_tabla.campollaveforánea

¿Quién ha ordenado un producto y qué ordenaron?

SELECT Empleados.Nombre, Ordenes.Producto

FROM Empleados

INNER JOIN Ordenes

ON Empleados.ID_Empleado=Ordenes.ID_Empleado

El INNER JOIN devuelve todas las filas de ambas tablas donde hay una coincidencia. Si hay filas en Empleados que no tienen coincidencias en Ordenes, esas filas no se listarán.

Resultado

Nombre Producto

Hansen, Ola Impresora

Svendson, Stephen Mesa

Svendson, Stephen Silla

Ejemplo LEFT JOIN

Sintaxis

SELECT campo1, campo2, campo3

FROM primera_tabla

LEFT JOIN segunda_tabla

ON primera_tabla.campollave = segunda_tabla.campollaveforánea

Listar todos los empleados y sus órdenes, si las tienen.

SELECT Empleados.Nombre, Ordenes.Producto

FROM Empleados

LEFT JOIN Ordenes

ON Empleados.ID_Empleado=Ordenes.ID_Empleado

El LEFT JOIN devuelve todas las filas de la primera tabla (Empleados), incluso si no hay coincidencias en la segunda tabla (Ordenes). Si hay filas en Empleados que no tienen coincidencias en Ordenes, esas filas también se listarán.

Resultado

Nombre Producto

Hansen, Ola Impresora

Svendson, Tove

Svendson, Stephen Mesa

Svendson, Stephen Silla

Pettersen, Kari

Ejemplo RIGHT JOIN

Sintaxis

SELECT campo1, campo2, campo3

FROM primera_tabla

RIGHT JOIN segunda_tabla

ON primera_tabla.campollave = segunda_tabla.campollaveforánea

Listar todas las órdenes y quién las ha ordenado, si las hay.

SELECT Empleados.Nombre, Ordenes.Producto

FROM Empleados

RIGHT JOIN Ordenes

ON Empleados.ID_Empleado=Ordenes.ID_Empleado

El RIGHT JOIN devuelve todas las filas de la segunda tabla (Ordenes), incluso si no hay coincidencias en la primera tabla (Empleados). Si hubiera habido filas en Ordenes que no tenían coincidencias en Empleados, esas filas también se habrían listado.

Resultado

Nombre Producto

Hansen, Ola Impresora

Svendson, Stephen Mesa

Svendson, Stephen Silla

Ejemplo

¿Quién ordenó una impresora?

SELECT Empleados.Nombre

FROM Empleados

INNER JOIN Ordenes

ON Empleados.ID_Empleado=Ordenes.ID_Empleado

WHERE Ordenes.Producto = 'Impresora'

Gracias,

Saludos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hi Haritha

hope this will help you.

Pls reward if help.

Joins are used to fetch data fast from Database tables:

Tables are joined with the proper key fields to fetch the data properly.

If there are no proper key fields between tables don't use Joins;

Important thing is that don't USE JOINS FOR CLUSTER tables like BSEG and KONV.

Only use for Transparent tables.

You can also use joins for the database Views to fetch the data.

JOINS

... FROM tabref1 [INNER] JOIN tabref2 ON cond

Effect

The data is to be selected from transparent database tables and/or views determined by tabref1 and tabref2. tabref1 and tabref2 each have the same form as in variant 1 or are themselves Join expressions. The keyword INNER does not have to be specified. The database tables or views determined by tabref1 and tabref2 must be recognized by the ABAP Dictionary.

In a relational data structure, it is quite normal for data that belongs together to be split up across several tables to help the process of standardization (see relational databases). To regroup this information into a database query, you can link tables using the join command. This formulates conditions for the columns in the tables involved. The inner join contains all combinations of lines from the database table determined by tabref1 with lines from the table determined by tabref2, whose values together meet the logical condition (join condition) specified using ON>cond.

Inner join between table 1 and table 2, where column D in both tables in the join condition is set the same:

Table 1 Table 2










Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?