consulta de uniÓn externa

8
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE CIENCIAS ECONOMICAS ESCUELA DE ECONOMIA TICS II AULA:12 TEMA: CONSULTAS DE UNIÓN EXTERNAS. GRUPO 4 INTEGRANTES ISRAEL BAUTISTA IVONNE CHURO LUIS ESPINOZA

Upload: luis-espinoza

Post on 15-Aug-2015

118 views

Category:

Technology


1 download

TRANSCRIPT

UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE CIENCIAS ECONOMICAS

ESCUELA DE ECONOMIA

TICS II AULA:12

TEMA: CONSULTAS DE UNIÓN EXTERNAS.GRUPO 4

INTEGRANTES

ISRAEL BAUTISTAIVONNE CHUROLUIS ESPINOZA

CONSULTA DE UNIÓN EXTERNA La unión externa permite reunir registros

de tablas relacionadas considerando todos los registros de una primera tablas aunque ninguno de los registros de una segunda tabla presente aciertos contra la primera, obviamente en ese caso los campos de esta última tabla vendrán a nulo.

La reunión externa siempre se realizaran por la izquierda o por la derecha, una de las dos. De este modo expresamos el deseo de considerar todos los registros de la tabla a la izquierda o a la derecha de la cláusula OUTER JOIN, aunque no se hallen coincidencias con la otra tabla según la cláusula ON.

CONSULTA DE UNIÓN EXTERNA

EJEMPLO Veamos la consulta que muestra los

cursos y sus profesores aunque el curso no tenga profesor asignado.

Como en este caso usamos LEFT OUTER JOIN, la tabla que de la izquierda, es decir, la tabla CURSOS, será considerada por completo aunque no tenga éxito la cláusula ON, en cuyo caso los campos de la tabla situada a la derecha de la cláusula se mostrarán a nulo.

Si invertimos el orden de las tablas y usamos RIGHT OUTER JOIN, o simplemente RIGHT JOIN, expresión equivalente simplificada aplicable también a LEFT JOIN,

el resultado es el mismo.

Consulta que muestra todos los cursos acompañados del profesor que lo imparte. Si el curso no tiene profesor definido o bien el campo APELLIDOS no contiene una "E", los campos de la tabla PROFESORES se mostrarán a nulo:

El resultado presenta para el curso 3 los campos de la tabla PROFESORES a nulo porque el campo APELLIDOS del profesor que lo imparte no contiene un "E". Para el curso 5 ocurre lo mismo pero en este caso el motivo es además que no tiene profesor definido, con que mucho menos podrá ser cierta la otra condición.

Ahora aplicamos el filtro del apellido en la cláusula WHERE:

Observamos como la reunión externa se rompe puesto que la cláusula WHERE exige que el apellido del profesor contenga una "E", dado que los cursos que no tienen profesor definido la consulta devuelve el apellido a nulo, esta cláusula no se satisface por lo que oculta el registro y la reunión externa carece de sentido, o si usted quiere, la clausula WHERE es aplicable a la tabla CURSOS pero no a la tabla PROFESORES, puesto que en este caso no tiene sentido realizar una reunión externa para que luego un filtro en la cláusula WHERE la anule.

SINTESISExisten dos sintaxis para realizar las operaciones de unión ya sea externa o interna, dependiendo del SGBD. Basada en cláusula WHERE o bien basada en cláusula INNER JOIN / OUTER JOIN. Lo ideal sería dejar a criterio del desarrollador el uso de cualquiera de ellas siempre y cuando el SGBD lo soporte.

En una unión externa debemos tratar siempre la tabla cuyos campos pueden venir a nulo poniendo todos los campos que establecen condiciones de dicha tabla en la cláusula ON del OUTER JOIN, si lo hacemos en la cláusula WHERE como filtro corriente la reunión externa se rompe y carece de sentido.