我想知道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