Left outer join

14/04/2004 - 20:41 por Pablodegerli | Informe spam
Quisiera saber cual es la diferencia entre left join y left ourter join?

Gracias amigos

Preguntas similare

Leer las respuestas

#1 Javier Loria
14/04/2004 - 21:01 | Informe spam
Hola:
El uso de la palabra OUTER es opcional, de manera que son lo mismo.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Pablodegerli escribio:
Quisiera saber cual es la diferencia entre left join y left ourter
join?

Gracias amigos
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP SQL]
14/04/2004 - 21:09 | Informe spam
SQL Server soporta los outer joins usando LEFT JOIN (o equivalentemente LEFT
OUTER JOIN) de acuerdo a la especificación ANSI SQL-92.

Lo que tiene comportamiento diferente es el FULL OUTER JOIN (o FULL JOIN).
Este operador involucra a los registros de ambas tablas joineadas aunque
haya datos que no matchean.

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Pablodegerli" wrote in message
news:Oy%
Quisiera saber cual es la diferencia entre left join y left ourter join?

Gracias amigos


Respuesta Responder a este mensaje
#3 ulises
14/04/2004 - 21:15 | Informe spam
Creo que la diferencia debería plantearse entre los inner
joins y los outers joins (adicionalmente tienes el cross
join). Mientras que los inner join realizan una
comparación entre tablas por alguna característica y
eliminando aquellos registros en ambas tablas que no
cumplan con la condicion, los outer joins realizan la
comparación y toman el LEFT o RIGHT para especificar que
una tabla sirve de base y en caso de no existir en la otra
lo completa con nulos. Creo que mejor se ve en un ejemplo :

CREATE TABLE t1 ( a int, b char(1) )
CREATE TABLE t2 ( a int, b char(1) )
INSERT INTO t1 VALUES ( 1 , 'A' )
INSERT INTO t1 VALUES ( 2 , 'B' )
INSERT INTO t2 VALUES ( 2 , 'C' )
INSERT INTO t2 VALUES ( 3 , 'D' )
go
SELECT * FROM t1 inner join t2 ON ( t1.a = t2.a )
dará por resultado solo los registros que existen en ambas
tablas
a b a b
2 B 2 C

(1 row(s) affected)

SELECT * FROM t1 left join t2 ON ( t1.a = t2.a )
dara por resultado los registros que existen en ambas
tablas más los registros de t1 que no existen en t2
a b a b
1 A NULL NULL
2 B 2 C

(2 row(s) affected)

SELECT * FROM t1 right join t2 ON ( t1.a = t2.a )
dara por resultado los registros que existen en ambas
tablas más los registros de t2 que no existen en t1.
a b a b
2 B 2 C
NULL NULL 3 D

(2 row(s) affected)

Saludos,
Ulises

Quisiera saber cual es la diferencia entre left join y


left ourter join?

Gracias amigos
Respuesta Responder a este mensaje
#4 Pablodegerli
16/04/2004 - 21:54 | Informe spam
Lo habia probado y al tener el mismo resultado con o sin la palabra outer
creia que tenia alguna funcionalidad que no lograba entender
Muchas gracias a todos

"Pablodegerli" escribió en el mensaje
news:Oy%
Quisiera saber cual es la diferencia entre left join y left ourter join?

Gracias amigos


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida