В первом абзаце вы путаете CROSS и OUTER соединения. Перекрестное соединение с пустой таблицей приводит к пустому результату.
нтересноCROSS JOIN
можно безопасно заменить наINNER JOIN
в любом запросе, когда он найден.
ЯвляетсяINNER JOIN
безON
или жеUSING
точно так же, какCROSS JOIN
? Если да, имеетCROSS JOIN
Тип был придуман только для того, чтобы лучше выразить намерение в запросе?
Приложение к этому вопросу будет:
Может ли быть разница при использовании современных и широко используемых СУБД при использованииCROSS JOIN ... WHERE x
, INNER JOIN ... ON ( x )
или жеINNER JOIN ... WHERE ( x )
?
Спасибо.