SlideShare a Scribd company logo
1 of 14
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
Tipos JOIN en SQL: Inner, Left, Right y Full
Tipos JOIN en SQL: Inner, Left, Right y Full
Tipos JOIN en SQL: Inner, Left, Right y Full
Tipos JOIN en SQL: Inner, Left, Right y Full
Tipos JOIN en SQL: Inner, Left, Right y Full
Tipos JOIN en SQL: Inner, Left, Right y Full

More Related Content

What's hot

Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosVicente Alberca
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxCESARHERNANPATRICIOP1
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no linealeslos4estatidinamicos
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 

What's hot (20)

Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Clase 1 Modelo Físico de Base de Datos
Clase 1 Modelo Físico de Base de DatosClase 1 Modelo Físico de Base de Datos
Clase 1 Modelo Físico de Base de Datos
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Firebird
FirebirdFirebird
Firebird
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Metodologia omt
Metodologia omtMetodologia omt
Metodologia omt
 
Integridad de base de datos
Integridad de base de datosIntegridad de base de datos
Integridad de base de datos
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptx
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Access presentacion
Access presentacionAccess presentacion
Access presentacion
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Clave foránea
Clave foráneaClave foránea
Clave foránea
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
 
Vistas en SQL
Vistas en SQLVistas en SQL
Vistas en SQL
 
Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 

Viewers also liked (20)

Taller básico de JOINS, SUBQUERYING, APPLY, CTE
Taller básico de JOINS, SUBQUERYING, APPLY, CTETaller básico de JOINS, SUBQUERYING, APPLY, CTE
Taller básico de JOINS, SUBQUERYING, APPLY, CTE
 
Joins
JoinsJoins
Joins
 
Join
JoinJoin
Join
 
Curso SQL - Leccion 7
Curso SQL - Leccion 7  Curso SQL - Leccion 7
Curso SQL - Leccion 7
 
Cap 7. oracle SQL fundamentals
Cap 7. oracle SQL fundamentalsCap 7. oracle SQL fundamentals
Cap 7. oracle SQL fundamentals
 
Join sql
Join sqlJoin sql
Join sql
 
Join
JoinJoin
Join
 
Introducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorIntroducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query Processor
 
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTASIntroducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
 
Taller de sql server no 3
Taller de sql server no 3Taller de sql server no 3
Taller de sql server no 3
 
Tarea dqs en ssis nunca termina
Tarea dqs en ssis nunca terminaTarea dqs en ssis nunca termina
Tarea dqs en ssis nunca termina
 
Tutorial procedure sqlserver2008.docx
Tutorial procedure sqlserver2008.docxTutorial procedure sqlserver2008.docx
Tutorial procedure sqlserver2008.docx
 
Curso SQL - Leccion 6
Curso SQL - Leccion 6Curso SQL - Leccion 6
Curso SQL - Leccion 6
 
Presentacion Sql 2
Presentacion Sql 2Presentacion Sql 2
Presentacion Sql 2
 
Agrupando datos en SQL Server
Agrupando datos en SQL ServerAgrupando datos en SQL Server
Agrupando datos en SQL Server
 
Sql joins
Sql joinsSql joins
Sql joins
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
SQL JOIN
SQL JOINSQL JOIN
SQL JOIN
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 

Similar to Tipos JOIN en SQL: Inner, Left, Right y Full

Los inner join- Giovanna Miramontes 3aps Cecyte bc
Los inner join- Giovanna Miramontes 3aps Cecyte bcLos inner join- Giovanna Miramontes 3aps Cecyte bc
Los inner join- Giovanna Miramontes 3aps Cecyte bcGiovanna Miramontes
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en accesspablytopch
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en accesspablytom
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en accesspablytom
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en accesspablytoch8
 
Cláusulas para unir tablas en bases de datos
Cláusulas para unir tablas en bases de datosCláusulas para unir tablas en bases de datos
Cláusulas para unir tablas en bases de datosKass70
 
Principales tipos de joins en sql
Principales tipos de joins en sqlPrincipales tipos de joins en sql
Principales tipos de joins en sqlHUGOCOCA
 
Funciones de grupo
Funciones de grupoFunciones de grupo
Funciones de grupoJONATHAN1254
 
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...José Ricardo Tillero Giménez
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla claseAlejandra Vera
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Relaciones en una base de datos[1]
Relaciones en una base de datos[1]Relaciones en una base de datos[1]
Relaciones en una base de datos[1]carmenarcos
 

Similar to Tipos JOIN en SQL: Inner, Left, Right y Full (18)

Los inner join- Giovanna Miramontes 3aps Cecyte bc
Los inner join- Giovanna Miramontes 3aps Cecyte bcLos inner join- Giovanna Miramontes 3aps Cecyte bc
Los inner join- Giovanna Miramontes 3aps Cecyte bc
 
Ipv6
Ipv6Ipv6
Ipv6
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en access
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en access
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en access
 
Tipos de relaciones en access
Tipos de relaciones en accessTipos de relaciones en access
Tipos de relaciones en access
 
Caso de estudio joins
Caso de estudio joinsCaso de estudio joins
Caso de estudio joins
 
Cláusulas para unir tablas en bases de datos
Cláusulas para unir tablas en bases de datosCláusulas para unir tablas en bases de datos
Cláusulas para unir tablas en bases de datos
 
Principales tipos de joins en sql
Principales tipos de joins en sqlPrincipales tipos de joins en sql
Principales tipos de joins en sql
 
Funciones de grupo
Funciones de grupoFunciones de grupo
Funciones de grupo
 
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla clase
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
Relaciones en una base de datos[1]
Relaciones en una base de datos[1]Relaciones en una base de datos[1]
Relaciones en una base de datos[1]
 

Tipos JOIN en SQL: Inner, Left, Right y Full

  • 1. 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.
  • 2. 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
  • 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)
  • 4.
  • 5.
  • 6.
  • 7. 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
  • 8. • -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