Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Alternative pour la jointure cartésienne et croisée

Au niveau strict de la définition, ce n'est pas possible. Pourquoi? Parce que la définition d'un produit cartésien est exactement ce que vous décrivez (le terme "jointure cartésienne" n'est pas souvent utilisé mais est synonyme de "produit cartésien"). Par conséquent, toute méthode que vous utilisez implémente cette fonctionnalité. Normalement, cette fonctionnalité est implémentée à l'aide de CROSS JOIN (et j'admets à contrecœur, parfois en utilisant , ).

Vous pourriez dire "ajouter 1 à un nombre sans faire + 1 ". Quelqu'un d'autre arrive et dit "utilisez + 2 - 1 ". Eh bien, c'est en ajouter un, mais en utilisant simplement deux opérations au lieu d'une.

Si vous voulez un produit cartésien mais que vous ne voulez pas utiliser le CROSS JOIN opérateur, la méthode la plus typique utilise ON 1=1 :

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