可能重複:
SQL JOIN: is there a difference between USING, ON or WHERE?SQL查詢優化
考慮一下,如果我有一個名爲A和B兩個表,一個有2萬行和B只有100行,當我使用這些SELECT
聲明,我需要知道這兩個區別
SELECT A.C1, B.C1
FROM A, B
WHERE A.C1 = B.C2
第二個是
SELECT A.C1, B.C1
FROM A
INNER JOIN B ON A.C1 = B.C2
我在看性能水平,我需要知道這個之間的核心區別。當我和我的同事談話時,他告訴我第一個問題是交叉加入會降低性能,但我不是那樣想的。
請幫忙。
哪個查詢你在這裏建議,爲什麼?
+1是,**總是**使用第二個版本 - 具有JOIN條件的'INNER JOIN'更清晰。另外:使用第一個(遺留)JOIN語法,您總是有忘記指定連接條件(您必須)的危險可能性,因此最終會產生不需要的笛卡爾積... –
我以爲它們都是ANSI 。 ANSI 89與ANSI 92至少這是我從以前關於這個主題的問題中得到的結果...... –
對於內部連接,這兩種語法都是從SQL92開始的ANSI標準。 –