Sei sulla pagina 1di 2

UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERA ESCUELA DE CIENCIAS FSICAS Y MATEMTICAS

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 nmero del jefe de Whalen viendo la columna MANAGER_ID. El nmero 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 nmero 101. Entonces Kochhar es jefe de Whalen. En este proceso, necesitamos ver la tabla dos veces. La primera ocasin 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 Combinacin externa (OUTER JOIN) Mediante esta operacin 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 operacin se subdivide dependiendo de la tabla a la cual se le admitirn los registros que no tienen correspondencia, ya sean de tabla izquierda, de tabla derecha, o combinacin completa.

Tabla Izquierda (LEFT OUTER JOIN o LEFT JOIN) El resultado de esta operacin siempre contiene todos los registros de la tabla de la izquierda (la primera tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la derecha, para uno de la izquierda. 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, o retorna un valor nulo NULL en caso de no correspondencia. Tabla derecha (RIGHT OUTER JOIN o RIGHT JOIN) Esta operacin es inversa a la anterior; el resultado de esta operacin siempre contiene todos los registros de la tabla de la derecha (la segunda tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la izquierda, para uno de la derecha. 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, o retorna un valor nulo NULL en caso de no correspondencia. Combinacin completa (FULL OUTER JOIN) Esta operacin presenta los resultados de tabla izquierda y tabla derecha aunque no tengan correspondencia en la otra tabla. La tabla combinada contendr, entonces, todos los registros de ambas tablas y presentar valores nulos NULLs para registros sin pareja. SELECT * FROM empleado FULL OUTER JOIN departamento ON empleado.IDDepartamento = departamento.IDDepartamento Algunos sistemas de bases de datos no soportan esta funcionalidad, pero esta puede ser emulada a travs de las combinaciones de tabla izquierda, tabla derecha y de la sentencia de unin.

Potrebbero piacerti anche