sql >> Base de Datos >  >> RDS >> Sqlserver

Alternativa para unión cartesiana y cruzada

Por un nivel de definición estricto, no es posible. ¿Por qué? Porque la definición de un producto cartesiano es exactamente lo que usted describe (el término "unión cartesiana" no se usa a menudo, pero es un sinónimo de "producto cartesiano"). Por lo tanto, cualquier método que utilice está implementando esta funcionalidad. Normalmente esta funcionalidad se implementa usando CROSS JOIN (y lo admito a regañadientes, a veces usando , ).

Podrías decir "suma 1 a un número sin hacer + 1 ". Alguien más viene y dice "use + 2 - 1 ". Bueno, eso es agregar uno, pero solo usando dos operaciones en lugar de una.

Si desea un producto cartesiano pero no desea utilizar CROSS JOIN operador, el método más típico usa ON 1=1 :

select t1.*, t2.*
from t1 join
     t2
     on 1 = 1;