我想知道CROSS JOIN
是否可以在发现任何查询时用INNER JOIN
安全替换。CROSS JOIN是没有ON子句的INNER JOIN的同义词吗?
是INNER JOIN
没有ON
或USING
跟CROSS JOIN
完全一样吗?如果是的话,CROSS JOIN
类型是否只是为了更好地表达查询而发明的?
对这个问题的附录是:
还能有使用差异现代化和使用CROSS JOIN ... WHERE x
,INNER JOIN ... ON (x)
或INNER JOIN ... WHERE (x)
时广泛使用的DBMS?
谢谢。
谢谢你的回答。根据“INNER JOIN”的标准,“ON”条件是强制性的吗? – Benoit 2011-04-21 11:15:39
@Benoit:根据'SQL-92',它不是。不过,我没有'2003'或'2008'的副本。除'MySQL'之外的所有数据库都需要它。 – Quassnoi 2011-04-21 11:22:20
@Quassnoi:SQLite没有。 – Benoit 2011-04-21 11:44:44