Med en strikt definitionsnivå är det inte möjligt. Varför? Eftersom definitionen av en kartesisk produkt är precis vad du beskriver (termen "kartesisk anslutning" används inte ofta men är en synonym för "kartesisk produkt"). Därför implementerar alla metoder du använder den här funktionen. Normalt implementeras denna funktion med CROSS JOIN
(och jag erkänner motvilligt att jag ibland använder ,
).
Du kan säga "lägg till 1 till ett nummer utan att göra + 1
". Någon annan kommer och säger "använd + 2 - 1
". Tja, det är att lägga till en, men bara att använda två operationer istället för en.
Om du vill ha en kartesisk produkt men du inte vill använda CROSS JOIN
operatorn, använder den mest typiska metoden ON 1=1
:
select t1.*, t2.*
from t1 join
t2
on 1 = 1;