Por um nível de definição estrito, não é possível. Por quê? Porque a definição de um produto cartesiano é exatamente o que você descreve (o termo "junção cartesiana" não é frequentemente usado, mas é sinônimo de "produto cartesiano"). Portanto, qualquer método que você usa está implementando essa funcionalidade. Normalmente esta funcionalidade é implementada usando
CROSS JOIN
(e admito com relutância, às vezes usando ,
). Você pode dizer "adicione 1 a um número sem fazer
+ 1
". Alguém aparece e diz "use + 2 - 1
". Bem, isso é adicionar um, mas apenas usando duas operações em vez de uma. Se você quer um produto cartesiano mas não quer usar o
CROSS JOIN
operador, o método mais comum usa ON 1=1
:select t1.*, t2.*
from t1 join
t2
on 1 = 1;