我不知道Oracle,但我知道以前的語法在SQLServer中被廢棄了,并且最終會消失。在新查詢中使用舊語法之前,我將檢查Oracle計劃如何處理它。
我更喜歡更新的語法,而不是將聯(lián)接條件與其他需要的條件混合在一起。在較新的語法中,創(chuàng)建連接的內(nèi)容和應(yīng)用的其他條件要清楚得多。在這樣一個簡短的查詢中,并不是什么大問題,但是當(dāng)您有一個更復(fù)雜的查詢時,它就會變得更加混亂。由于人們學(xué)習(xí)基本查詢,所以我傾向于在復(fù)雜查詢中需要使用聯(lián)接語法之前,先學(xué)習(xí)使用聯(lián)接語法。
而且我也不太了解Oracle,但我知道即使在SQLServer 2000中,舊樣式的左聯(lián)接的SQLServer版本也存在缺陷,并給出了不一致的結(jié)果(有時是左聯(lián)接,有時是交叉連接),因此不應(yīng)該使用它。希望Oracle不會遇到同樣的問題,但是肯定地,左和右聯(lián)接很難用舊的語法正確表達(dá)。
另外,我的經(jīng)驗(當(dāng)然,這完全是個人觀點,您可能有不同的經(jīng)驗)是,使用ANSII標(biāo)準(zhǔn)聯(lián)接的開發(fā)人員傾向于更好地理解JOIN是什么以及從數(shù)據(jù)庫中獲取數(shù)據(jù)意味著什么。我相信這是因為大多數(shù)具有良好數(shù)據(jù)庫理解的人傾向于編寫更復(fù)雜的查詢,在我看來,使用ANSII標(biāo)準(zhǔn)維護(hù)這些查詢要比使用舊風(fēng)格容易得多。