JOIN
se utiliza en una sentencia SQL para consultar datos de dos o más mesas, sobre
la base de una relación entre ciertas columnas de estas tablas.
Las tablas de una base de datos a menudo se relacionan el uno al otro con las
teclas.
Una clave principal es una columna (o una combinación de columnas) con un
valor único para cada fila. Cada valor de la clave principal deben ser únicos
dentro de la tabla. El propósito es enlazar los datos juntos, a través de
tablas, sin repetir todos los datos en cada tabla.
DIFERENCIACION
• Antes de continuar con ejemplos, vamos a enumerar los tipos de
  unión que puede utilizar, y las diferencias entre ellos.
• INNER JOIN : Devuelve las filas cuando hay al menos un partido en
  ambas tablas
• LEFT JOIN : Devolver todas las filas de la tabla de la
  izquierda, incluso si no hay coincidencias en la tabla de la derecha
• RIGHT JOIN : Devolver todas las filas de la tabla de la
  derecha, incluso si no hay coincidencias en la tabla de la izquierda
• Outer Join :la diferencia es que en este tipo de combinación
  se mantienen los valores que no tienen equivalente en la otra
  tabla
• Join completo : devuelven filas cuando hay un partido en una de las
  mesas
•   Tipos de Join:
•   1. Internos (Inner Join)
•   De Equivalencia (Equi – Join)
•   Natural (Natural – Join)
•   Cruzado (Cross – Join)
•   En sí mismo (Self – Join)
•   2. Externos (Outer Join)
•   De tabla Izquierda (Left Outer Join)
•   De tabla Derecha (Right Outer Join)
•   Combinación completa (Full Outer Join)
OUTER JOIN
En el Outer Join la diferencia es que en este tipo de combinación se mantienen los
valores que no tienen equivalente en la otra tabla, esto no sucede en el Inner Join que
cuando las tablas no tienen valores equivalentes la relación botaría NULL en el resultado
y este es omitido por defecto, hay maneras de conservarlos usando Inner Join
especificando IsNull o Null, pero no nos compliquemos más, veamos los ejemplos del
Outer Join para esto relacionaremos las tablas 3 y 4 que contiene algunos valores sin
equivalente en la otra, primero hagamos un Inner Join comprobando así que no nos dá
los valores Null:
--INNER JOIN
SELECT * FROM Tabla3 INNER JOIN Tabla4 ON Tabla3.IdLetra = Tabla4.IdLetra
Como verás los valores sin equivalente son omitidos
• -De Tabla Izquierda (Left Outer Join)
El Left Outer Join nos 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, veamos el ejemplo:
--LEFT OUTER JOIN
SELECT * FROM Tabla3 LEFT OUTER JOIN Tabla4 ON Tabla3.IdLetra = Tabla4.IdLetra
• -De Tabla Derecha (Left Outer Join)
El Right Outer Join nos 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, el
caso contrario como ven, vamos al ejemplo:
--RIGHT OUTER JOIN
SELECT * FROM Tabla3 RIGHT OUTER JOIN Tabla4 ON Tabla3.IdLetra =
Tabla4.IdLetra
• -Combinación Completa (Full Outer Join)
Con esta útlima 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 mostrán todos ellos,
ejemplo:
--FULL OUTER JOIN
SELECT * FROM Tabla3 FULL OUTER JOIN Tabla4 ON Tabla3.IdLetra =
Tabla4.IdLetra
Join
Join
Join
Join
Join
Join

Join

  • 1.
    JOIN se utiliza enuna sentencia SQL para consultar datos de dos o más mesas, sobre la base de una relación entre ciertas columnas de estas tablas. Las tablas de una base de datos a menudo se relacionan el uno al otro con las teclas. Una clave principal es una columna (o una combinación de columnas) con un valor único para cada fila. Cada valor de la clave principal deben ser únicos dentro de la tabla. El propósito es enlazar los datos juntos, a través de tablas, sin repetir todos los datos en cada tabla.
  • 2.
    DIFERENCIACION • Antes decontinuar con ejemplos, vamos a enumerar los tipos de unión que puede utilizar, y las diferencias entre ellos. • INNER JOIN : Devuelve las filas cuando hay al menos un partido en ambas tablas • LEFT JOIN : Devolver todas las filas de la tabla de la izquierda, incluso si no hay coincidencias en la tabla de la derecha • RIGHT JOIN : Devolver todas las filas de la tabla de la derecha, incluso si no hay coincidencias en la tabla de la izquierda • Outer Join :la diferencia es que en este tipo de combinación se mantienen los valores que no tienen equivalente en la otra tabla • Join completo : devuelven filas cuando hay un partido en una de las mesas
  • 3.
    Tipos de Join: • 1. Internos (Inner Join) • De Equivalencia (Equi – Join) • Natural (Natural – Join) • Cruzado (Cross – Join) • En sí mismo (Self – Join) • 2. Externos (Outer Join) • De tabla Izquierda (Left Outer Join) • De tabla Derecha (Right Outer Join) • Combinación completa (Full Outer Join)
  • 7.
    OUTER JOIN En elOuter Join la diferencia es que en este tipo de combinación se mantienen los valores que no tienen equivalente en la otra tabla, esto no sucede en el Inner Join que cuando las tablas no tienen valores equivalentes la relación botaría NULL en el resultado y este es omitido por defecto, hay maneras de conservarlos usando Inner Join especificando IsNull o Null, pero no nos compliquemos más, veamos los ejemplos del Outer Join para esto relacionaremos las tablas 3 y 4 que contiene algunos valores sin equivalente en la otra, primero hagamos un Inner Join comprobando así que no nos dá los valores Null: --INNER JOIN SELECT * FROM Tabla3 INNER JOIN Tabla4 ON Tabla3.IdLetra = Tabla4.IdLetra Como verás los valores sin equivalente son omitidos • -De Tabla Izquierda (Left Outer Join) El Left Outer Join nos 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, veamos el ejemplo: --LEFT OUTER JOIN SELECT * FROM Tabla3 LEFT OUTER JOIN Tabla4 ON Tabla3.IdLetra = Tabla4.IdLetra
  • 8.
    • -De TablaDerecha (Left Outer Join) El Right Outer Join nos 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, el caso contrario como ven, vamos al ejemplo: --RIGHT OUTER JOIN SELECT * FROM Tabla3 RIGHT OUTER JOIN Tabla4 ON Tabla3.IdLetra = Tabla4.IdLetra • -Combinación Completa (Full Outer Join) Con esta útlima 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 mostrán todos ellos, ejemplo: --FULL OUTER JOIN SELECT * FROM Tabla3 FULL OUTER JOIN Tabla4 ON Tabla3.IdLetra = Tabla4.IdLetra