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.
CROSS JOIN tabla2;
CROSS JOIN regions R2
CROSS JOIN regions R3;
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 tabla1CROSS 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 tabla2. Condiciones que limiten
el resultado son permitidas en la clausula WHERE. Si la tabla1 y la tabla2
contienen x y y numero de filas respectivamente el producto cartesiano
contendrá x veces y numero de filas. El resultado de un Cross Join puede ser
utilizando para identificar filas huérfanas o para generar un gran conjunto de
datos para una aplicación de pruebas.
SELECT *
FROM regions r1, regions r2, regions r3;
SELECT *
FROM regions R1CROSS JOIN regions R2
CROSS JOIN regions R3;
Cuando utilizamos la sintaxis Cross Join, un Producto Cartesiano es
intencionalmente generado. Inadvertidamente
un producto cartesiano es creado cuando no hay suficientes condiciones
Join en una sentencia N-1 condiciones Join. Un Natural Join Puro que no
comparte columnas idénticas genera un Producto cartesiano.
Comentarios
Publicar un comentario