Na poziomie ścisłej definicji nie jest to możliwe. Czemu? Ponieważ definicja produktu kartezjańskiego jest dokładnie tym, co opisujesz (termin „złączenie kartezjańskie” nie jest często używany, ale jest synonimem „produktu kartezjańskiego”). Dlatego każda używana metoda jest implementacją tej funkcjonalności. Zwykle ta funkcjonalność jest implementowana za pomocą CROSS JOIN
(i niechętnie przyznaję, czasami używając ,
).
Możesz powiedzieć „dodaj 1 do numeru bez robienia + 1
”. Podchodzi ktoś inny i mówi „użyj + 2 - 1
". Cóż, to jest dodanie jednej, ale tylko za pomocą dwóch operacji zamiast jednej.
Jeśli potrzebujesz produktu kartezjańskiego, ale nie chcesz używać CROSS JOIN
operatora, najbardziej typowa metoda używa ON 1=1
:
select t1.*, t2.*
from t1 join
t2
on 1 = 1;