Revista JOINS | David Cordón | 4to. Compu "A" | 17

Page 1

DAVID

josecordon@emilianisomascos.edu.gt

TIPOS DE

4TO. COMPUTACIÓN “A”

CORDÓN JOINS
davco 0720

03. 04. 06. 08. 11. 16.

13. 18.

INTRODUCCIÓN

Explicación general de los diferentes tipos de JOIN de SQL SERVER

INNER JOIN

¿Qué es un INNER JOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación.

LEFT JOIN

¿Qué es un LEFT JOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación

LEFT OUTER JOIN

¿Qué es un LEFT OUTERJOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación.

RIGHT JOIN

¿Qué es un RIGHT JOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación.

RIGHT OUTER JOIN

¿Qué es un RIGHT OUTER JOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación

FULL JOIN

¿Qué es un RIGHT JOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación.

FULL OUTER JOIN

¿Qué es un RIGHT OUTER JOIN y para qué sirve? *Incluye ejemplo resuelto con su explicación.

21. CONCLUSIONES

Conclusiones generales del tema

davco 0720

es un JOIN?

Es una operación que permite combinar registros de dos o más tablas, basándoseenunarelaciónentreciertascolumnas.

Losjoinsmáscomunesson:

INNERJOIN:Devuelvesólolosregistrosquetienenunacorrespondencia enambastablas.

LEFTJOIN: Devuelvetodoslosregistrosdelatabladelaizquierdaylos registroscoincidentesdelatabladeladerecha.

RIGHT JOIN: Lo opuesto a LEFT JOIN, devuelve todos los registros de la tabladeladerechayloscoincidentesdelaizquierda.

FULL OUTER JOIN: Devuelve todos los registros cuando hay una coincidenciaencualquiertabla.

CROSS JOIN: Genera el producto cartesiano de las filas de ambas tablas.

3
davco 0720
¿Qué
TIPOS DE JOIN EN SQL

04. ¿Qué es un INNER JOIN?

Se utilizan para combinar datos de dos o más tablas, basándose en una relaciónentredeterminadascolumnas.Susprincipalesusosson:

Relacionar datos de dos tablas donde la relación es de 1 a 1. Por ejemplo, combinar una tabla de clientes con una tabla de pedidos, paraobtenerlospedidosdecadacliente.

Obtener datos de múltiples tablas relacionadas. Por ejemplo, obtener productosjuntoconsuscategoríasyfabricantes.

Filtrar resultados combinando condiciones de múltiples tablas. Por ejemplo,obtenerpedidosdeciertoclienteydeciertafecha.

Para construir consultas y reportes que requieran consolidar datos de múltiplestablasrelacionadas.

Cuando se necesita una intersección de datos entre tablas, es decir, sólolosregistrosqueexistenenambastablas.

Sintaxis:

SELECTcolumnas

FROMtabla1

INNERJOINtabla2

ONtabla1.campo=tabla2.campo

Esto devolverá registros que tengan valores coincidentes en los campos especificadosenlacláusulaON.

4 TIPOS DE JOIN EN SQL
davco 0720

Ejemplo:

Explicación:

Realizamos un INNER JOIN entre las tablas Libros (L) y Ventas (V). La condición es que el campo ID Libro de la tabla Libros sea igual al campo ID VentadelatablaVentas.

Entonces,loquehaceestequeryes:

SeleccionarlascolumnasID _Libro,Título,ID_VentayTotal DelatablaLibros(L)

UniendoconlatablaVentas(V)

UsandolacondicióndequeL.ID_Libro=V.ID_Venta

MostrarelTítulodellibroylainformacióndelaventarelacionada.

Este INNER JOIN encuentra pares de registros en ambas tablas que cumplanconlacondiciónespecificadaymuestrainformacióncombinada deesosregistrosrelacionados.

5 TIPOS DE JOIN EN SQL
1. 2. 3. 4. 5.
davco 0720

06. ¿Qué es un LEFT JOIN?

Es uno de los tipos de joins más utilizados en SQL. Sirve para combinar datosdedosomástablas,conlaparticularidaddequedevuelvetodoslos registrosdelatabladelaizquierda(left)ylosregistroscoincidentesdela tabladeladerecha(right).

LosprincipalesusosdeunLEFTJOINson:

Obtener todos los registros de la tabla izquierda, incluso si no tienen coincidencias en la tabla derecha. Por ejemplo, obtener todos los clientesincluyendolosquenohanrealizadopedidos.

Obtener datos de múltiples tablas aun cuando algunos registros de la tablaizquierdanotengansucorrespondencia.

Identificar registros en la tabla izquierda que no tienen coincidencias enlatabladerecha.Porejemplo,productosquenohantenidoventas.

Realizar consultas con datos opcionales de otra tabla. Por ejemplo, obtener artículos con la información de precios (algunos artículos puedennotenerprecio).

Sintaxis:

SELECTcolumnas

FROMtabla izquierda

LEFTJOINtabla derecha

ONtabla _izquierda.columna=tabla_derecha.columna;

6
TIPOS DE JOIN EN SQL davco 0720

Ejemplo:

Explicación:

Se obtiene a todos los proveedores y cualquier información de compras quetenganrelacionada,basadoenlacondiciónONdeigualdadentrelas columnas de identificación. Si no hay compras relacionadas, se muestran NULL.Seleccionartodaslascolumnas()delatablaProveedoresytodaslas columnas()delatablaCompras.

DesdelatablaProveedores(mencionadadespuésdelFROM)

Hacer un LEFT JOIN con la tabla Compras (mencionada después del LEFTJOIN)

Usando la condición ON para unir las tablas: la columna ID Proveedor de la tabla Proveedores debe ser igual a la columna ID Compra de la tablaCompras.

Como es un LEFT JOIN, se devuelven todas las filas de la tabla de la izquierda (Proveedores) independientemente de si hay coincidencias enladerecha(Compras).

Si un proveedor no tiene compras asociadas, se mostrará igual pero convaloresNULLparalascolumnasdelatablaCompras.

7
1. 2. 3. 4. 5. TIPOS DE JOIN EN SQL
davco 0720

08. ¿Qué es un LEFT OUTER JOIN?

Es exactamente lo mismo que un LEFT JOIN. La palabra "OUTER" se utiliza para enfatizar que se devuelven todos los registros de la tabla izquierda, inclusocuandonohayacoincidenciasenlatabladerecha.

FuncionalmenteunLEFTOUTERJOINtrabajadelamismaformaqueunLEFT JOIN:

Devuelve todos los registros de la tabla de la izquierda (tabla izquierda).

Devuelve los registros coincidentes de la tabla de la derecha (tabla_derecha).

Si un registro de la izquierda no tiene coincidencia en la derecha, se muestraigualconvaloresNULLparalascolumnasdeladerecha. FiltraporlacondiciónONespecificada.

Sintaxis:

SELECTcolumnas

FROMtabla izquierda

LEFTOUTERJOINtabla _ derecha

ONtabla izquierda.columna=tabla derecha.columna;

8
TIPOS DE JOIN EN SQL
davco 0720

Ejemplo:

Explicación:

Este query realiza exactamente la misma operación que el ejemplo anterior, la única diferencia es que utiliza la palabra "OUTER" después de LEFTJOIN.

EstáhaciendounLEFTOUTERJOINentrelastablasProveedoresyCompras. Funcionalmenteloquesucedees:

Seseleccionantodaslascolumnasdeambastablas. Setomarántodoslosregistrosdelatablaizquierda(Proveedores).

Seuniráconlatabladerecha(Compras)basadoenlacondiciónON.

Como es un OUTER JOIN, se conservan todos los registros de la izquierdaaunquenotengancoincidencias.

Losregistroscoincidentesenambastablassemostraránunavez. RegistrosdelaizquierdasincoincidenciasemostraránconNULLs.

9
1. 2. 3. 4. 5. 6. TIPOS
JOIN
DE
EN SQL
davco 0720

¿LEFT JOIN? ¿LEFT OUTER JOIN?

es la Diferencia?

LEFT JOIN y LEFT OUTER JOIN son lo mismo. No hay diferencia en su funcionamiento.

Ambosdevuelventodoslosregistrosdelatablaizquierda.

Losregistroscoincidentesenladerechasemuestranunavez.

LosnocoincidentesenladerechasemuestranconvaloresNULL.

La palabra OUTER sólo enfatiza el comportamiento de conservar todos losregistrosdelaizquierda.

Enlaprácticasepuedenusarindistintamente,noafectaráelresultado delaconsulta.

AlgunosprefierenusarLEFTOUTERJOINporsermásexplícitoyclaroen sufuncionamiento.

10
TIPOS DE JOIN EN SQL
davco 0720
¿Cuál

11. ¿Qué es un RIGHT JOIN?

Es muy similar al LEFT JOIN, con la única diferencia de que devuelve todos losregistrosdelatabladeladerechaenlugardelatabladelaizquierda. Enpocaspalabras,priorizalosregistrosdelatabladerechaenlugardela izquierda.TodolodemásfuncionadelamismamaneraqueelLEFTJOIN.

EnunRIGHTJOIN:

Se devuelven todos los registros de la tabla de la derecha (tabla derecha), así no tengan coincidencias en la tabla de la izquierda.

Losregistroscoincidentesenambastablassemuestranunavez. Si un registro de la derecha no tiene coincidencia en la izquierda, se muestraigualconvaloresNULLparalascolumnasdelaizquierda. FiltrasegúnlacondiciónONespecificada.

Sintaxis:

SELECTcolumnas

FROMtabla izquierda

RIGHTJOINtabla _ derecha

ONtabla _izquierda.columna=tabla_derecha.columna;

11
TIPOS DE JOIN EN SQL davco 0720

Ejemplo:

Explicación:

Este query devuelve todas las compras junto con los datos de los proveedoresrelacionados.Siunacompranotieneproveedorasociado,se muestraigualperoconNULLs.

Seleccionatodaslascolumnasdeambastablas.

TomalatablaProveedorescomolatabladelaizquierda. HaceunRIGHTJOINconlatablaCompras(derecha).

UsalacondiciónONparaunirlasporlascolumnasespecificadas. Como es un RIGHT JOIN, devuelve todas las filas de la tabla derecha (Compras)sinimportarsitienencoincidencias.

Losregistroscoincidentessemostraránunavez.

Registros de Compras sin coincidencia se mostrarán con valores NULL paralascolumnasdeProveedores.

12
1. 2. 3. 4. 5. 6. 7.
JOIN
TIPOS DE
EN SQL
davco 0720

13. ¿Qué es un RIGHT OUTER JOIN?

EsexactamenteigualqueunRIGHTJOIN.Lapalabra"OUTER"seañadepor convenciónparaenfatizarqueseconservantodoslosregistrosdelatabla deladerecha,inclusocuandonoexistaunacoincidenciaenlatabladela izquierda.

Funcionalmente, un RIGHT OUTER JOIN trabaja de la misma forma que un RIGHTJOIN:

Devuelvetodoslosregistrosdelatabladeladerecha(tabla derecha), asínotengancoincidencias.

Muestralosregistroscoincidentesdeambastablasunasolavez.

Si un registro de la derecha no tiene coincidencia en la izquierda, se muestraconvaloresNULL.

FiltraporlacondiciónONespecificada.

Sintaxis:

SELECTcolumnas

FROMtabla izquierda

RIGHTOUTERJOINtabla _ derecha

ONtabla izquierda.columna=tabla derecha.columna;

13
TIPOS DE JOIN EN SQL
davco 0720

TIPOS DE JOIN EN SQL

Ejemplo:

Explicación:

Este query realiza exactamente el mismo join que el ejemplo anterior, la únicadiferenciaesqueutilizalapalabra"OUTER"despuésdeRIGHTJOIN.

Funcionalmente está realizando un RIGHT OUTER JOIN entre las tablas ProveedoresyCompras.

Loquesucedees:

Seleccionatodaslascolumnasdeambastablas. Tomatodoslosregistrosdelatabladeladerecha(Compras).

Uneconlatabladelaizquierda(Proveedores)segúnlacondiciónON.

Como es un OUTER JOIN, conserva todos los registros de la tabla derecha.

Muestralosregistroscoincidentesunasolavez.

RegistrosdeladerechasincoincidenciasemuestranconNULLs.

14
2. 3. 4. 5. 6.
1.
davco 0720

¿RIGHT JOIN? ¿RIGHT OUTER JOIN?¿Cuál es la Diferencia?

NoexisteningunadiferenciaentreRIGHTJOINyRIGHTOUTERJOIN.Realizan exactamentelamismaoperación.

RIGHTJOINdevuelvetodoslosregistrosdelatabladeladerecha(right)y loscoincidentesdelaizquierda(left).

RIGHTOUTERJOINessolounavariaciónenlanomenclaturaqueenfatizael comportamiento de devolver todas las filas de la tabla derecha. Pero no cambialafuncionalidad.

15
TIPOS DE JOIN EN SQL
davco 0720

16. ¿Qué es un FULL JOIN?

Un FULL JOIN, también conocido como FULL OUTER JOIN, es un tipo de join en SQL que devuelve todos los registros de ambas tablas cuando existe unacoincidenciaencualquieradeloslados.

LascaracterísticasprincipalesdelFULLJOINson:

Devuelve todos los registros de la tabla izquierda y derecha que cumplanlacondiciónON.

Si un registro de la izquierda no satisface la condición con la derecha, semuestraigualincluyendovaloresNULLparaladerecha.

Si un registro de la derecha no satisface la condición con la izquierda, semuestraigualincluyendovaloresNULLparalaizquierda.

Losregistrosquecoincidanenambastablassemuestranunasolavez.

Sintaxis:

SELECTcolumnas

FROMtabla izquierda

FULLOUTERJOINtabla derecha

ONtabla _izquierda.columna=tabla_derecha.columna;

16
TIPOS DE JOIN EN SQL
davco 0720

Ejemplo:

Explicación:

Este query está realizando un FULL JOIN entre las tablas Proveedores (P) y Compras(C).

LoquehaceelFULLJOINes:

Selecciona las columnas ID _Proveedor, Nombre de la tabla ProveedoresyFecha_Compra,TotaldelatablaCompras.

TomatodoslosregistrosdelatablaProveedores(izquierda).

UnecontodoslosregistrosdelatablaCompras(derecha).

UsalacondiciónONparaunirporlascolumnasespecificadas.

Si un registro de Proveedores no tiene coincidencia en Compras, se muestraigual.

Si un registro de Compras no tiene coincidencia en Proveedores, se muestraigual.

Losquecoincidanenambastablassemuestranunavez.

17
1. 2. 3. 4. 5. 6. 7.
TIPOS DE JOIN EN SQL
davco 0720

18. ¿Qué es un FULL OUTER JOIN?

Es exactamente lo mismo que un FULL JOIN. La palabra "OUTER" se añade por convención para enfatizar que se conservan todos los registros de ambastablas,coincidentesynocoincidentes.

Funcionalmente,unFULLOUTERJOINtrabajaigualqueunFULLJOIN:

Devuelve todos los registros de la tabla izquierda y derecha que cumplanlacondiciónON.

Muestralosregistrosquecoincidanenambastablasunasolavez. Si un registro de la izquierda no tiene coincidencia en la derecha, se muestraconvaloresNULL.

Si un registro de la derecha no tiene coincidencia en la izquierda, se muestraconvaloresNULL.

Sintaxis:

SELECTcolumnas

FROMtabla izquierda

FULLOUTERJOINtabla derecha

ONtabla izquierda.columna=tabla derecha.columna;

18
TIPOS DE JOIN EN SQL
davco 0720

Ejemplo:

Explicación:

Realiza exactamente el mismo FULL JOIN que el ejemplo anterior, la única diferenciaesqueutilizalapalabra"OUTER"despuésdeFULLJOIN.

Funcionalmente está haciendo un FULL OUTER JOIN entre las tablas Proveedores(P)yCompras(C).

Loquesucedees:

Seleccionalascolumnasespecificadasdeambastablas.

Tomatodoslosregistrosdelatablaizquierda(Proveedores).

Tomatodoslosregistrosdelatabladerecha(Compras).

UneambastablassegúnlacondiciónON.

AlserunOUTERJOIN,conservatodoslosregistrosdeamboslados.

Muestralosregistroscoincidentesunavez.

LosnocoincidentessemuestranconvaloresNULL.

19
1. 2. 3. 4. 5. 6. 7. TIPOS DE JOIN EN SQL
davco 0720

¿FULL JOIN? ¿FULL OUTER JOIN?

¿Cuál es la Diferencia?

No existe ninguna diferencia entre un FULL JOIN y un FULL OUTER JOIN. Realizanexactamentelamismaoperacióndejoin.

Un FULL JOIN devuelve todos los registros de la tabla izquierda y derecha quecumplanconlacondiciónONespecificada.

UnFULLOUTERJOINtambiéndevuelvetodoslosregistrosdeambastablas quecumplanlacondiciónON.

20
TIPOS DE JOIN EN SQL
davco 0720

INNERJOIN:Devuelvesoloregistroscoincidentesentreambastablas.Es elmásutilizadoparacombinardatosrelacionados.

LEFT JOIN: Devuelve todos los registros de la tabla izquierda, coincidentesynocoincidentes.Útilparaconservardatos.

RIGHTJOIN:Igualperoconservandolosregistrosdelatabladerecha.

FULL JOIN: Conserva todos los datos de ambas tablas, coincidencias y nocoincidencias.

La palabra OUTER se agrega por convención para enfatizar que se conservantodoslosregistros,peronoalteralafuncionalidad.

Los joins permiten relacionar y obtener datos de múltiples tablas de formaflexible.

La elección del tipo de join depende de los datos que se necesiten en cadacaso.

Es importante entender bien cómo funcionan para crear consultas óptimasyevitarerrores.

Los joins son esenciales en SQL, bases de datos relacionales y análisis dedatos.Saberusarloscorrectamenteesclave.

21
TIPOS DE JOIN EN SQL
davco 0720
CONCLUSIONES

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Revista JOINS | David Cordón | 4to. Compu "A" | 17 by José David Cordón Menchú - Issuu