SlideShare ist ein Scribd-Unternehmen logo
1 von 25
 Es otro tipo de composicion de tablas 
que permite emparejar filas de 
distintas tablas de foma mas 
eficiente
 tenemos tipos de Join que funcionarán 
en Transact, propio de MS SQL Server, y 
que sólo cambian ciertas partes de la 
sintaxis para los demás lenguajes ojo 
todos al final hacen lo mismo, las bases 
son iguales, tenemos 2 tipos de Join (por 
definición almenos) los Joins Internos o 
de Combinación interna (Inner Join) y los 
Joins Externos o Combinación externa 
(Outer Join) que a su vez tienen sus 
diferencias dentro de cada uno de ellos
 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)
 INNER JOIN 
 El Inner Join te permite combinar dos tablas 
mediante un campo en común para 
hacer relaciones y consultas en este 
ejemplo vamos a utilizar un Inner Join para 
unir las tablas 1 y 2, Funciona así: 
 SELECT tabla.(campo que quieres 
mostrar)FROM Tabla1 (Alias -opcional- 
) INNER JOIN Tabla2 (Alias – opcional-)ON 
Tabla1(o Alias).NombreCampo(campo en 
común) <,>,= (comparación) Tabla2(o 
Alias).NombreCampo(campo en común)
 -Con Alias SELECT * FROM Tabla1 T1 
INNER JOIN Tabla2 T2 ON T1.IdLetra = 
T2.IdLetra 
 Inner Join Tabla 1 y Tabla2 (sin alias) 
 --Sin Alias SELECT * FROM Tabla1 INNER 
JOIN Tabla2 ON Tabla1.IdLetra = 
Tabla2.IdLetra
 Como te das cuenta en la parte donde va el asterisco (*) 
es donde se piden los campos de las dos tablas 
relacionadas como ves aquí se trae todos los campos, 
pero si hubiera algunos en especifico que quieras mostrar 
escribes “tabla.campo” y eliges cuales quieres, mas 
adelante en esta consulta vemos que se escribe un 
nombre corto al costado del nombre de la tabla este es 
el Alias , luego de esto ya la tabla tiene asignado un 
nombre Alias y sólo se le llamará mediante este nombre 
corto igual que como se hacia con su nombre completo; 
finalmente vemos la comparación después de la palabra 
reservada ON que en este caso es “=” también podría ser 
>,<, etc. como algo adicional al inicio también puedes 
usar el alias (en el lugar donde va el asterisco) de esta 
manera:
 SELECT T1.Valor1,T2.Valor2,T2.IdLetra 
FROM Tabla1 T1 INNER JOIN Tabla2 T2 
ON T1.IdLetra =T2.IdLetra
En este tipo es una especie de theta-join 
donde se hace una comparación de 
Igualdad por lo tanto si el inner join es 
comparado con < , > estos no entrarían 
en esta categoría 
 --EQUI JOIN SELECT * FROM Tabla1 INNER 
JOIN Tabla2 ON 
Tabla1.IdLetra=Tabla2.IdL
Propiamente en SQL no se puede hacer 
Natural Join pero es simple de explicar, el 
Natural Join te da los valores y elimina los 
campos repetidos en la relación 
establecida quedando como el ejemplo 
donde especifique el uso de alias al 
principio de la Query, lo puedes ver aquí 
donde solo muestro uno de los dos 
campos IdLetra, esto daría un Natural Join: 
 --NATURAL JOIN SELECT T1.IdLetra ,T1.Valor1, 
T2.Valor2 FROM Tabla1 T1 INNER JOIN Tabla 
2 T2 ON T1.IdLetra =T2.IdLetra
 - Cruzado (Cross-Join) 
 El Cross Join nos permite hacer un producto 
cartesiano entre las tablas que estamos 
comparando, también se puede dar de manera 
Implicita lo que llaman el operador proyección, al 
final funcionan igual: 
 ---CROSS JOIN NORMAL SELECT * FROM Tabla1 CROSS 
JOIN Tabla2 SELECT 
Tabla1.IdLetra,Tabla1.Valor1,Tabla2.Valor2 FROM 
Tabla1 CROSS JOIN Tabla2 ---CROSS JOIN IMPLICITO 
SELECT * FROM Tabla1 ,Tabla2 SELECT 
Tabla1.IdLetra,Tabla1.Valor1,Tabla2.Valor2 from 
Tabla1,Tabla2
 - A sí misma (Self-Join) 
 Este es un tipo un tanto raro de Join pero 
quien sabe la necesidad de tus 
consultas y necesites implementarla en 
una, esta te permite hacer un producto 
cartesiano de la tabla pero consigo 
misma osea un Auto Cross Join: 
 --SELF JOIN SELECT * FROM Tabla1 SELF 
JOIN Tabla1 ON Tabla1.IdLetra=Tabla1. 
IdLetra
 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
 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
(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
 - (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
 la idea de los INNER JOINs es poder acceder a 
campos de una tabla Z relacionada con una tabla 
X, posiblemente tambien teniendo que pasar por 
una tercera (o hasta 4ta o...n-esima) tabla 
relacionada Y. 
X---Y----Z 
Casi siempre se relacionan por IDs ... asi que digamos 
que X son compradores, Y son mercaderias y Z son 
proveedores, como se puede pensar... debo poder 
conocer el proveedor de un producto que compro 
un comprador ante una reclamacion (por ejemplo). 
Por supuesto cada comprador tiene su ID (podria ser 
su DNI), cada producto su ID_producto y cada 
proveedor su ID_proveedor. 
En general seria algo asi.... 
 Código SQL:
 SELECT __(campos)___ FROM 
___(tabla1)___ 
 INNER JOIN _(tabla2)____ 
 ON (id_tabla1=id_tabla2) 
 WHERE 
condiciones_para_cualquier_campo_de 
_cualquier_tabla
 o para 3 tablas (como en el mini-ejemplo) 
Código SQL: 
 SELECT __(campos)___ FROM ___(tabla1)___ 
 INNER JOIN _(tabla2)____ 
 ON (id_tabla1=id_tabla2) 
 INNER JOIN _(tabla3)_ ON 
 (id_tabla2=id_tabla3) 
 WHERE 
condiciones_para_cualquier_campo_de_cu 
alquier_tabla
 donde las condiciones WHERE o 
cualquier LIMIT va al final y son 
opcionales. 
Asi se puede hacer PERFECTAMENTE 
pero es mucho mas facil de seguir y 
evitar confundirse si usamos "alias" para 
los nombres de las tablas:
Codigo sql 
 SELECT t1.* FROM TTTT AS t1 
 INNER JOIN TTTT AS t2 ON 
 t1.id_ = t2.id_ 
 INNER JOIN TTTT AS t3 ON 
 t2.id_ = t3.id_ 
 INNER JOIN TTTT AS t4 ON 
 t3.id_ = t4.id_
 Donde TTTT son los nombres de las 
distintas tablas.
Los inner join- Giovanna Miramontes 3aps Cecyte bc

Weitere ähnliche Inhalte

Was ist angesagt?

Principales tipos de joins en sql
Principales tipos de joins en sqlPrincipales tipos de joins en sql
Principales tipos de joins en sqlHUGOCOCA
 
MANEJO DE FILTROS
MANEJO  DE  FILTROSMANEJO  DE  FILTROS
MANEJO DE FILTROSRuth1993
 
FILTROS Y AUTOFILTROS
FILTROS Y AUTOFILTROS FILTROS Y AUTOFILTROS
FILTROS Y AUTOFILTROS Gaby Loayza
 
FILTROS AVANZADOS EXCEL
FILTROS AVANZADOS EXCELFILTROS AVANZADOS EXCEL
FILTROS AVANZADOS EXCELgsourigues
 
Ejemplo de como subir un archivo
Ejemplo de como subir un archivoEjemplo de como subir un archivo
Ejemplo de como subir un archivoMac Apple Apple
 
Filtros avanzados en excel
Filtros avanzados en excelFiltros avanzados en excel
Filtros avanzados en excelAna Navarro
 

Was ist angesagt? (11)

Filtros en Excel Grupo 2
Filtros en  Excel Grupo 2Filtros en  Excel Grupo 2
Filtros en Excel Grupo 2
 
ppt de excel
ppt de excelppt de excel
ppt de excel
 
EXCEL - FILTROS AVANZADOS
EXCEL - FILTROS AVANZADOSEXCEL - FILTROS AVANZADOS
EXCEL - FILTROS AVANZADOS
 
Principales tipos de joins en sql
Principales tipos de joins en sqlPrincipales tipos de joins en sql
Principales tipos de joins en sql
 
MANEJO DE FILTROS
MANEJO  DE  FILTROSMANEJO  DE  FILTROS
MANEJO DE FILTROS
 
FILTROS Y AUTOFILTROS
FILTROS Y AUTOFILTROS FILTROS Y AUTOFILTROS
FILTROS Y AUTOFILTROS
 
FILTROS AVANZADOS EXCEL
FILTROS AVANZADOS EXCELFILTROS AVANZADOS EXCEL
FILTROS AVANZADOS EXCEL
 
Ejemplo de como subir un archivo
Ejemplo de como subir un archivoEjemplo de como subir un archivo
Ejemplo de como subir un archivo
 
Exposicion 2
Exposicion 2Exposicion 2
Exposicion 2
 
Filtros avanzados en excel
Filtros avanzados en excelFiltros avanzados en excel
Filtros avanzados en excel
 
Crear tabla de datos
Crear tabla de datosCrear tabla de datos
Crear tabla de datos
 

Andere mochten auch (20)

Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Extreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNExtreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDN
 
Actividad1 unidad3
Actividad1 unidad3Actividad1 unidad3
Actividad1 unidad3
 
Fundamentos de SELECT SQL
Fundamentos de SELECT SQLFundamentos de SELECT SQL
Fundamentos de SELECT SQL
 
Statement
StatementStatement
Statement
 
Subconsultas
SubconsultasSubconsultas
Subconsultas
 
Sql subconsultas
Sql subconsultasSql subconsultas
Sql subconsultas
 
0506 Sql Subconsultas
0506 Sql Subconsultas0506 Sql Subconsultas
0506 Sql Subconsultas
 
Subconsultas sql
Subconsultas sqlSubconsultas sql
Subconsultas sql
 
Sentencias Select
Sentencias SelectSentencias Select
Sentencias Select
 
Subconsultas
SubconsultasSubconsultas
Subconsultas
 
Group by, having, order by, SQL
Group by, having, order by, SQLGroup by, having, order by, SQL
Group by, having, order by, SQL
 
sub Consultas Oracle SQL
sub Consultas Oracle SQLsub Consultas Oracle SQL
sub Consultas Oracle SQL
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Consultas anidadas o subconsultas oracle
Consultas  anidadas o subconsultas oracleConsultas  anidadas o subconsultas oracle
Consultas anidadas o subconsultas oracle
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joins
 
Comandos básicos mysql
Comandos básicos mysqlComandos básicos mysql
Comandos básicos mysql
 
SQL Joins
SQL JoinsSQL Joins
SQL Joins
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 

Ähnlich wie Los inner join- Giovanna Miramontes 3aps Cecyte bc

Ähnlich wie Los inner join- Giovanna Miramontes 3aps Cecyte bc (20)

Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla clase
 
Consultas multitabl1 sql
Consultas multitabl1 sqlConsultas multitabl1 sql
Consultas multitabl1 sql
 
Sql1 multitablas
Sql1 multitablasSql1 multitablas
Sql1 multitablas
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Ejemploddl dml-ok
Ejemploddl dml-okEjemploddl dml-ok
Ejemploddl dml-ok
 
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
 
Join
JoinJoin
Join
 
Join
JoinJoin
Join
 
Ipv6
Ipv6Ipv6
Ipv6
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
Herramientas de access
Herramientas de accessHerramientas de access
Herramientas de access
 
Tisc 2-expocicion1 hugp calderon alexis chavez grupo 3
Tisc 2-expocicion1 hugp calderon alexis chavez grupo 3Tisc 2-expocicion1 hugp calderon alexis chavez grupo 3
Tisc 2-expocicion1 hugp calderon alexis chavez grupo 3
 
Caso de estudio joins
Caso de estudio joinsCaso de estudio joins
Caso de estudio joins
 
Como crear tablas de access 2010
Como crear tablas de access 2010 Como crear tablas de access 2010
Como crear tablas de access 2010
 
MANEXAV0.pdf
MANEXAV0.pdfMANEXAV0.pdf
MANEXAV0.pdf
 
Joins
JoinsJoins
Joins
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
Tisc 2-expocicion (1)
Tisc 2-expocicion (1)Tisc 2-expocicion (1)
Tisc 2-expocicion (1)
 

Kürzlich hochgeladen

que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.Aldo Fernandez
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 

Kürzlich hochgeladen (14)

que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 

Los inner join- Giovanna Miramontes 3aps Cecyte bc

  • 1.
  • 2.  Es otro tipo de composicion de tablas que permite emparejar filas de distintas tablas de foma mas eficiente
  • 3.
  • 4.  tenemos tipos de Join que funcionarán en Transact, propio de MS SQL Server, y que sólo cambian ciertas partes de la sintaxis para los demás lenguajes ojo todos al final hacen lo mismo, las bases son iguales, tenemos 2 tipos de Join (por definición almenos) los Joins Internos o de Combinación interna (Inner Join) y los Joins Externos o Combinación externa (Outer Join) que a su vez tienen sus diferencias dentro de cada uno de ellos
  • 5.  1. Internos (Inner Join)  De Equivalencia (Equi – Join)  Natural (Natural – Join)  Cruzado (Cross – Join)  En sí mismo (Self – Join)
  • 6.  2. Externos (Outer Join)  De tabla Izquierda (Left Outer Join)  De tabla Derecha (Right Outer Join)  Combinación completa (Full Outer Join)
  • 7.  INNER JOIN  El Inner Join te permite combinar dos tablas mediante un campo en común para hacer relaciones y consultas en este ejemplo vamos a utilizar un Inner Join para unir las tablas 1 y 2, Funciona así:  SELECT tabla.(campo que quieres mostrar)FROM Tabla1 (Alias -opcional- ) INNER JOIN Tabla2 (Alias – opcional-)ON Tabla1(o Alias).NombreCampo(campo en común) <,>,= (comparación) Tabla2(o Alias).NombreCampo(campo en común)
  • 8.  -Con Alias SELECT * FROM Tabla1 T1 INNER JOIN Tabla2 T2 ON T1.IdLetra = T2.IdLetra  Inner Join Tabla 1 y Tabla2 (sin alias)  --Sin Alias SELECT * FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.IdLetra = Tabla2.IdLetra
  • 9.  Como te das cuenta en la parte donde va el asterisco (*) es donde se piden los campos de las dos tablas relacionadas como ves aquí se trae todos los campos, pero si hubiera algunos en especifico que quieras mostrar escribes “tabla.campo” y eliges cuales quieres, mas adelante en esta consulta vemos que se escribe un nombre corto al costado del nombre de la tabla este es el Alias , luego de esto ya la tabla tiene asignado un nombre Alias y sólo se le llamará mediante este nombre corto igual que como se hacia con su nombre completo; finalmente vemos la comparación después de la palabra reservada ON que en este caso es “=” también podría ser >,<, etc. como algo adicional al inicio también puedes usar el alias (en el lugar donde va el asterisco) de esta manera:
  • 10.  SELECT T1.Valor1,T2.Valor2,T2.IdLetra FROM Tabla1 T1 INNER JOIN Tabla2 T2 ON T1.IdLetra =T2.IdLetra
  • 11. En este tipo es una especie de theta-join donde se hace una comparación de Igualdad por lo tanto si el inner join es comparado con < , > estos no entrarían en esta categoría  --EQUI JOIN SELECT * FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.IdLetra=Tabla2.IdL
  • 12. Propiamente en SQL no se puede hacer Natural Join pero es simple de explicar, el Natural Join te da los valores y elimina los campos repetidos en la relación establecida quedando como el ejemplo donde especifique el uso de alias al principio de la Query, lo puedes ver aquí donde solo muestro uno de los dos campos IdLetra, esto daría un Natural Join:  --NATURAL JOIN SELECT T1.IdLetra ,T1.Valor1, T2.Valor2 FROM Tabla1 T1 INNER JOIN Tabla 2 T2 ON T1.IdLetra =T2.IdLetra
  • 13.  - Cruzado (Cross-Join)  El Cross Join nos permite hacer un producto cartesiano entre las tablas que estamos comparando, también se puede dar de manera Implicita lo que llaman el operador proyección, al final funcionan igual:  ---CROSS JOIN NORMAL SELECT * FROM Tabla1 CROSS JOIN Tabla2 SELECT Tabla1.IdLetra,Tabla1.Valor1,Tabla2.Valor2 FROM Tabla1 CROSS JOIN Tabla2 ---CROSS JOIN IMPLICITO SELECT * FROM Tabla1 ,Tabla2 SELECT Tabla1.IdLetra,Tabla1.Valor1,Tabla2.Valor2 from Tabla1,Tabla2
  • 14.  - A sí misma (Self-Join)  Este es un tipo un tanto raro de Join pero quien sabe la necesidad de tus consultas y necesites implementarla en una, esta te permite hacer un producto cartesiano de la tabla pero consigo misma osea un Auto Cross Join:  --SELF JOIN SELECT * FROM Tabla1 SELF JOIN Tabla1 ON Tabla1.IdLetra=Tabla1. IdLetra
  • 15.  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
  • 16.  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
  • 17. (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
  • 18.  - (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
  • 19.  la idea de los INNER JOINs es poder acceder a campos de una tabla Z relacionada con una tabla X, posiblemente tambien teniendo que pasar por una tercera (o hasta 4ta o...n-esima) tabla relacionada Y. X---Y----Z Casi siempre se relacionan por IDs ... asi que digamos que X son compradores, Y son mercaderias y Z son proveedores, como se puede pensar... debo poder conocer el proveedor de un producto que compro un comprador ante una reclamacion (por ejemplo). Por supuesto cada comprador tiene su ID (podria ser su DNI), cada producto su ID_producto y cada proveedor su ID_proveedor. En general seria algo asi....  Código SQL:
  • 20.  SELECT __(campos)___ FROM ___(tabla1)___  INNER JOIN _(tabla2)____  ON (id_tabla1=id_tabla2)  WHERE condiciones_para_cualquier_campo_de _cualquier_tabla
  • 21.  o para 3 tablas (como en el mini-ejemplo) Código SQL:  SELECT __(campos)___ FROM ___(tabla1)___  INNER JOIN _(tabla2)____  ON (id_tabla1=id_tabla2)  INNER JOIN _(tabla3)_ ON  (id_tabla2=id_tabla3)  WHERE condiciones_para_cualquier_campo_de_cu alquier_tabla
  • 22.  donde las condiciones WHERE o cualquier LIMIT va al final y son opcionales. Asi se puede hacer PERFECTAMENTE pero es mucho mas facil de seguir y evitar confundirse si usamos "alias" para los nombres de las tablas:
  • 23. Codigo sql  SELECT t1.* FROM TTTT AS t1  INNER JOIN TTTT AS t2 ON  t1.id_ = t2.id_  INNER JOIN TTTT AS t3 ON  t2.id_ = t3.id_  INNER JOIN TTTT AS t4 ON  t3.id_ = t4.id_
  • 24.  Donde TTTT son los nombres de las distintas tablas.