Ir al contenido principal

Entradas

Mostrando entradas de septiembre 20, 2013

Dos minutos

·          Equijoining ocurre cuando una consulta encuentra valores de columnas de múltiples tablas en la cual las filas cumplen con una condición de igualdad. ·          Un Pure Natural Join es desarrollado utilizando la sintaxis NATURAL   JOIN. La tabla Source y Target son automáticamente unidas utilizando nombres de columnas idénticos. ·          La sintaxis JOIN … USING permite un Join Natural   sobre una o varias columnas que comparten el mismo nombre. ·          La Notacion Dot se refiere a la cualificación de una columna, prefijando el nombre de la tabla o el alias de la tabla a la cual pertenece dicha columna. Esto diferencia columnas con nombres iguales pero de diferentes tablas. ·          La clausula JOIN … ON permite la especificación explicita de las columnas Join. Este es el formato más flexible. ·          Las palabras ON, USING y NATURAL son mutuamente exclusivas y por lo tanto no pueden aparecer   en una clausula join. ·          Un nonequijoins e

Resumen

Información almacenada en tablas separadas puede ser asociada utilizando varios tipos de Uniones (Joins). Los Joins permiten almacenar los datos atreves múltiples tablas. Esta separación permite evitar la duplicidad de información. Equijoins y Nonequijoins son referidos como Inner Joins, estos utilizan una condición Join con un operador de Igualdad o Desigualdad, filas que no cumplen con estas condiciones, son ordinariamente excluidos mediante un inner join, pero pueden ser recuperados mediante un outer join. Left, Right y Full permiten la recuperación de filas huérfanas. Joins asocian columnas de tablas múltiples que comparten un mismo nombre. Notacion Dot utiliza un método para cualificar las columnas y no caer en la ambigüedad de columnas. Alias a tablas también puede ser utilizado para facilitar la escritura. La recuperación de datos almacenados jerárquicamente en una tabla es realizada mediante un Self Join. Y por último el Cross Join que une tablas libremente.

Producto Cartesiano

Un Producto Cartesiano de dos tablas puede ser conceptualizado como la unión de cada fila de la tabla Source con cada una de las filas de la tabla Target. El número de filas resultante en un Producto Cartesiano es número de filas de la tabla Source multiplicado por el número de filas de la tabla Target. Un producto cartesiano es desarrollado mediante la sintaxis Cross Join. Producto Cartesiano es un término matemático. Se refiere al conjunto de datos creado mediante la combinación de las filas de dos o más tablas.   Cross Join es la sintaxis utilizada   para crear un Producto Cartesiano mediante la unión de múltiples tablas. Ambos términos son a menudo utilizados intercambiablemente. Su sintaxis es la siguiente: SELECT tabla1.column, tabla2.column FROM tabla1 CROSS JOIN tabla2; Es importante observar que ninguna condición JOIN es especificada utilizando las palabras ON o USING. Un producto cartesiano asocia libremente las filas de la tabla1 con cada una fila de la

Full Outer Join

El formato para la sintaxis de la clausula FULL OUTER JOIN es como sigue: SELECT tabla1.column, tabla2.column FROM tabla1 FULL OUTER JOIN tabla2 ON (tabla1.column = tabla2.column); Un Full Outer Join devuelve el resultado combinado de un Left y Right Outer join. Un Inner Join de la tabla1 y la tabla2 es desarrollado posteriormente las filas excluidas por la condición Join de ambas tablas son combinadas en el conjunto de resultado. La sintaxis tradicional de Oracle no soporta un Full Outer Join, que es típicamente desarrollado mediante la combinación del resultado de un left outer join y un right outer join utilizando el operador de conjunto UNION. -- CONSULTA CON INNER JOIN SELECT e.employee_id, e.first_name, d.department_id, d.department_name FROM    employees e JOIN departments d ON (d.department_id = e.department_id); -- CONSULTA CON LEFT OUTER JOIN SELECT e.employee_id, e.first_name, d.department_id, d.department_name FROM    employees e

Right Outer Join

El format de la sintaxis para la clausula Right Outer Join es el siguiente: SELECT tabla1.column, tabla2.column FROM tabla1 RIGHT OUTER JOIN tabla2 ON (tabla1.column = tabla2.column) Un Rigth Outer Join desarrolla un inner join de la tabla1 y la tabla2 basado en la condición Join especificada después de la palabra ON. Las filas de la tabla de la derecha de la palabra JOIN, excluidas por el inner Join son devueltas. -- CONSULTA CON INNER JOIN SELECT d.department_id, d.department_name, e.employee_id, e.first_name, e.last_name FROM departments d JOIN employees e ON d.manager_id = e.employee_id; -- CONSULTA CON RIGHT OUTER JOIN SELECT d.department_id, d.department_name, e.employee_id, e.first_name, e.last_name FROM departments d RIGHT OUTER JOIN employees e ON d.manager_id = e.employee_id; Hay tres tipos de Outer Joins. Cada uno de ellos desarrolla un inner join posteriormente incluye las filas huérfanas de la izquierda o derecha según sea el c

Left Outer Join

El formato de la sintaxis para la clausula Left Outer Join es la siguiente: SELECT tabla1.column, tabla2.column FROM tabla1 LEFT OUTER JOIN tabla2 ON (tabla1.column = tabla2.column) Un Left Outer Join desarrolla un inner join entre la tabla1 y la tabla2 basado en la condición   especificada después de la palabra ON. Cualquier fila de la tabla izquierda excluida por el inner join también será devuelta. -- CONSULTA CON JOIN ON SELECT d.department_id, d.department_name, d.manager_id, e.employee_id, e.first_name, e.last_name FROM    departments d        JOIN employees e ON (d.manager_id = e.employee_id) ORDER BY d.department_id;        -- CONSULTA CON LEFT OUTER JOIN SELECT d.department_id, d.department_name, d.manager_id, e.employee_id, e.first_name, e.last_name FROM    departments d        LEFT OUTER JOIN employees e ON (d.manager_id = e.employee_id) ORDER BY d.department_id;    -- CONSULTA CON JOIN ON SELECT d.department_id, d.depa