UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS FÍSICAS Y MATEMÁTICAS

BASE DE DATOS CURSO: CUARTO – PRIMERO

TIPOS DE JOIN-S
Selft Join Se usa un selft join cuando queremos ligar a una tabla con sí misma, para eso se debe de definir un y si se tienen registros duplicados utilizar WHERE para eliminarlos. Asociando una tabla a si mismo En algunas ocasiones es necesario asociar una tabla a si mismo. Para encontrar el nombre del jefe de cada empleado, se requiere asociar la tabla EMPLOYEES con si misma o ejecutar un self join. Por ejemplo para encontrar el nombre del jefe de Whalen, se necesita: • Encontrar a Whalen en la tabla EMPLOYEES viendo la columna LAST_NAME. • Encontrar el número del jefe de Whalen viendo la columna MANAGER_ID. El número del jefe de Whalen es 101. • Encontrar el nombre del jefe con EMPLOYEE_ID 101 viendo la columna LAST_NAME. El empleado Kochhar es el número 101. Entonces Kochhar es jefe de Whalen. En este proceso, necesitamos ver la tabla dos veces. La primera ocasión para encontrar las columnas LAST_NAME y MANAGER_ID de Whalen. La segunda vez para buscar el valor 101 en la columna EMPLOYEE_ID y encontrar a Kochhar en la columna LAST_NAME. En el ejemplo anterior el join de la tabla E OTDER BY e.lastname, e.firstname Combinación externa (OUTER JOIN) Mediante esta operación no se requiere que cada registro en las tablas a tratar tenga un registro equivalente en la otra tabla. El registro es mantenido en la tabla combinada si no existe otro registro que le corresponda. Este tipo de operación se subdivide dependiendo de la tabla a la cual se le admitirán los registros que no tienen correspondencia, ya sean de tabla izquierda, de tabla derecha, o combinación completa.

pero esta puede ser emulada a través de las combinaciones de tabla izquierda. La sentencia RIGHT OUTER JOIN retorna la pareja de todos los valores de la tabla derecha con los valores de la tabla de la izquierda correspondientes. para uno de la derecha. o retorna un valor nulo NULL en caso de no correspondencia. . aun cuando no exista un registro correspondiente en la tabla de la derecha.IDDepartamento = departamento. para uno de la izquierda. tabla derecha y de la sentencia de unión.IDDepartamento Algunos sistemas de bases de datos no soportan esta funcionalidad. Combinación completa (FULL OUTER JOIN) Esta operación presenta los resultados de tabla izquierda y tabla derecha aunque no tengan correspondencia en la otra tabla. La tabla combinada contendrá. o retorna un valor nulo NULL en caso de no correspondencia. Tabla derecha (RIGHT OUTER JOIN o RIGHT JOIN) Esta operación es inversa a la anterior. entonces. todos los registros de ambas tablas y presentará valores nulos NULLs para registros sin pareja.Tabla Izquierda (LEFT OUTER JOIN o LEFT JOIN) El resultado de esta operación siempre contiene todos los registros de la tabla de la izquierda (la primera tabla que se menciona en la consulta). SELECT * FROM empleado FULL OUTER JOIN departamento ON empleado. aun cuando no exista un registro correspondiente en la tabla de la izquierda. el resultado de esta operación siempre contiene todos los registros de la tabla de la derecha (la segunda tabla que se menciona en la consulta). La sentencia LEFT OUTER JOIN retorna la pareja de todos los valores de la tabla izquierda con los valores de la tabla de la derecha correspondientes.