lunes, 26 de septiembre de 2011

Tipos de JOIN en T-SQL

INNER JOIN
Permite combinar 2 o más tablas a través de al menos un campo en común.    Es la unión natural entre las tablas.   Los resultados son los datos que tienen un común ambas tablas.
SINTAXIS
SELECT * FROM TABLA1 T1 INNER JOIN TABLA2 T2 ON T1.CampoA = T2.CampoA


LEFT OUTER JOIN
Permite hacer una mezcla y conservar todos los valores de la tabla izquierda (la primera tabla que se menciona en la consulta) sin importar que no tengan equivalente con la de la derecha.  Los resultados serán siempre todos los registros de la tabla izquierda TABLA1  sin que exista coincidencia en la otra tabla TABLA2. 
SINTAXIS
SELECT * FROM TABLA1 T1 LEFT OUTER JOIN TABLA2 T2 ON T1.CampoA = T2.CampoA


RIGHT OUTER JOIN
Permite hacer una mezcla y conservar todos los valores de la tabla derecha (la segunda tabla que se menciona en la consulta) sin importar que no tengan equivalente con la primera.  Los resultados serán siempre todos los registros de la tabla derecha TABLA2 sin que exista coincidencia en la otra tabla TABLA1.   
SINTAXIS
SELECT * FROM TABLA1 T1 RIGHT OUTER JOIN TABLA2 T2 ON T1.CampoA = T2.CampoA


CROSS JOIN
Nos permite hacer un producto cartesiano entre las tablas que estamos comparando.   Es una multiplicación de ambas tablas.   Se puede realizar de manera normal o bien de manera implícita.
---CROSS JOIN NORMAL
SELECT * FROM Tabla1 CROSS JOIN Tabla2

---CROSS JOIN IMPLICITO
SELECT * FROM Tabla1 ,Tabla2 

FULL OUTER JOIN
Es la combinación completa. Nos permitirá hacer una mezcla total y conservar todos los valores de ambas tablas, los valores que no tengan equivalencia aparecerán acompañados de un NULL y se mostraran todos los registros.
 SELECT * FROM Tabla1 FULL OUTER JOIN Tabla2 ON Tabla1.CampoA = Tabla2.CampoA

3 comentarios:

  1. son 8 tipos de join's

    ResponderEliminar
  2. Muy Buena Aportacion, Me Parecen Bien Todos Los Comentarios, Gracias Por La Aportacion

    ResponderEliminar
  3. GRACIAS PARCERO ME SIRVIO DE MUXO AHI TE DEJO MI BLOG PA Q RIAS UN POCO PASALO..http://delokura-marcos.blogspot.com/

    ResponderEliminar