martes, 8 de noviembre de 2016

CROSS JOIN


Se forma un producto cartesiano cuando:

  1. Se omite una condición de unión 
  2. Una condición de unión no es válida 
  3. Todas las filas de la primera tabla se unen a todas las filas de la segunda tabla 

Para evitar un producto cartesiano, incluya siempre una condición de unión válida.

Cuando una condición de unión no es válida o se omite por completo, el resultado es un producto cartesiano, en el que se muestran todas las combinaciones de filas. Todas las filas de la primera tabla se unen a todas las filas de la segunda tabla. 

Un producto cartesiano tiende a generar gran cantidad de filas, con lo que el resultado no suele ser de utilidad. Debería incluir siempre una condición de unión válida a menos que tenga la necesidad específica de combinar todas las filas de todas las tablas.
Los productos cartesianos resultan útiles si necesita generar gran número de filas para simular una cantidad aceptable de datos. 



Se genera un producto cartesiano si se omite una condición de unión. El ejemplo de la diapositiva muestra el apellido del empleado y el nombre del departamento de las tablas EMPLOYEES y DEPARTMENTS. Como no se ha especificado ninguna condición de unión, todas las filas (20 filas) de la tabla EMPLOYEES se unen a todas las filas (8 filas) de la tabla DEPARTMENTS, con lo que se generan 160 filas en la salida. 

  • La cláusula CROSS JOIN genera el producto combinado de dos tablas.
  • También se denomina un producto cartesiano entre las dos tablas.
SELECT last_name, department_name 
   FROM   employees 
CROSS JOIN departments ; 




Share:

0 comentarios:

Publicar un comentario

Archivo

Cual es el tema de mayor interes para ti?