
Imagina que tienes dos listas. Una con tipos de pan: Blanco y Integral. La otra con rellenos: Jamón y Queso. Quieres saber todas las combinaciones posibles de sándwiches. El producto cartesiano te ayuda con eso.
¿Qué es el Producto Cartesiano?
El Producto Cartesiano, en bases de datos, es una operación. Combina cada fila de una tabla con cada fila de otra tabla. El resultado es una tabla nueva. Esta tabla contiene todas las posibles combinaciones de filas de las tablas originales.
Piensa en un armario. Tienes 3 camisas y 2 pantalones. El producto cartesiano te dirá todas las combinaciones posibles de ropa que puedes usar. No importa si la combinación tiene sentido o no.
Must Read
Visually, imagina dos rectángulos. Uno representa la tabla A, el otro la tabla B. El producto cartesiano es un rectángulo más grande. Este contiene todas las combinaciones de las filas de los rectángulos originales.
Un Ejemplo Sencillo
Tenemos dos tablas: Clientes y Productos.

Tabla Clientes:
ClienteID | Nombre ----------|-------- 1 | Ana 2 | Juan
Tabla Productos:
ProductoID | Producto -----------|---------- 101 | Manzana 102 | Plátano
El Producto Cartesiano de estas tablas sería:

ClienteID | Nombre | ProductoID | Producto ----------|--------|------------|---------- 1 | Ana | 101 | Manzana 1 | Ana | 102 | Plátano 2 | Juan | 101 | Manzana 2 | Juan | 102 | Plátano
Como puedes ver, cada cliente se combina con cada producto. Ana con Manzana, Ana con Plátano, Juan con Manzana y Juan con Plátano. Todas las combinaciones posibles.
¿Cómo Funciona en SQL?
En SQL, el producto cartesiano se logra de varias maneras. La más común es simplemente listar las tablas en la cláusula FROM, sin una condición WHERE que las relacione.
Por ejemplo:

SELECT *
FROM Clientes, Productos;
Este query devolverá el mismo resultado que el ejemplo anterior. Todas las filas de Clientes combinadas con todas las filas de Productos.
¡Cuidado con el Tamaño!
El producto cartesiano puede generar tablas muy grandes. Si la tabla Clientes tiene 100 filas y la tabla Productos tiene 50 filas, el producto cartesiano tendrá 5000 filas (100 * 50). Esto puede afectar el rendimiento de la base de datos.
Imagina multiplicar. Números pequeños son fáciles. Números grandes requieren más tiempo y esfuerzo. El producto cartesiano es similar. Tablas pequeñas, bien. Tablas grandes, ¡cuidado!

¿Cuándo Usarlo?
Generalmente, el Producto Cartesiano no se usa directamente. Es más común usar JOINs. Los JOINs son más eficientes y específicos. Pero el producto cartesiano es útil en algunos casos específicos.
Por ejemplo, generar todos los posibles pares de elementos. También puede ser útil para probar escenarios "what-if" en modelado de datos. Sin embargo, generalmente existen alternativas más optimizadas.
El producto cartesiano es un bloque de construcción. Entenderlo ayuda a comprender otras operaciones de bases de datos. Te ayuda a ver cómo se combinan los datos a un nivel fundamental. Aunque no lo uses directamente todos los días, entenderlo es clave.