En el manejo del SQL el empleo del JOIN es muy importante para realizar búsquedas en la base de datos y sobretodo para comprobar la integridad de la data.
Existen tres tipos de JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN.
Vamos a ver con un ejemplo como funcionan estos JOIN.
Supongamos que tenemos dos bases de datos:
La base de datos EMPLEADOS que contiene la siguiente información.
Clave = Id, Nacionalidad
Id. 5886825
Nombre= Pedro Perez
Nacionalidad = USA
Id. 66677889
Nombre = Juan Rodríguez
Nacionalidad = MEX
La base de Datos SUELDOS que contiene la siguiente información:
Clave = ID, NACIONALIDAD, DEPARTAMENTO
Id. 5886825
Nacionalidad = USA
Sueldo = 5000,00
Departamento = Contabilidad.
Id. 444333221
Nacionalidad = BOL
Sueldo = 8000,00
Departamento = Finanzas
En este momento Juan Rodríguez no ha sido asignado a ningún departamento.
La denominación Archivo1 se lo asignamos a la Base de Datos EMPLEADOS
La denominación Archivo2 se lo asignamos a la base de Datos SUELDOS
Vamos a ver cual es el resultado de la consulta cuando trabajamos con INNER JOIN:
SELECT Archivo1.ID, Archivo2.ID, Archivo1.NOMBRE, Archivo2.SUELDO INNER JOIN SUELDOS Archivo2 ON Archivo1.ID = Archivo2.ID and Archivo1.NACIONALIDAD = Archivo2.NACIONALIDAD.
El resultado de la búsqueda es:
5.886.825, 5.886.825, Pedro Perez. 5000
Esto corresponde en la imagen al área de color amarillo de la figura, donde están los empleados que se encuentran en ambas bases de datos.
Vamos a ver cual es el resultado de la consulta cuando trabajamos con LEFT JOIN:
SELECT Archivo1.ID, Archivo2.ID, Archivo1.NOMBRE, Archivo2.SUELDO LEFT JOIN SUELDOS Archivo2 ON Archivo1.ID = Archivo2.ID and Archivo1.NACIONALIDAD = Archivo2.NACIONALIDAD.
66.677.889, NULL, Juan Rodríguez. NULL
Esto corresponde en la imagen al área de color azul de la figura, donde están los empleados que se encuentran SOLO en la base de datos: EMPLEADOS.
Vamos a ver cual es el resultado de la consulta cuando trabajamos con RIGHT JOIN:
SELECT Archivo1.ID, Archivo2.ID, Archivo1.NOMBRE, Archivo2.SUELDO RIGHT JOIN SUELDOS Archivo2 ON Archivo1.ID = Archivo2.ID and Archivo1.NACIONALIDAD = Archivo2.NACIONALIDAD.
NULL, 444333221, NULL, 8000
Esto corresponde en la imagen al área de color verde de la figura, donde están los empleados que se encuentran SOLO en la base de datos: SUELDOS. Este último resultado nos está señalando que no hay integridad en la Base de Datos y debemos revisar que está ocurriendo.
Autor: Ing. Liliana Suárez.
Si te pareció interesante el artículo reenvíalo a un amigo, haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.
Si te pareció interesante el artículo reenvíalo a un amigo, haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.
No comments:
Post a Comment