sql not in 與not exists使用中的細微差別

用的時候我們只注重查詢的效率,但卻往往會忽略一下比較細小的區別

上面兩個簡單的Sql,我們從表面理解,查詢的最終結果應該是一樣的,但實際結果卻和我們想象的不一樣

第一條sql查詢的結果有一條數據

第二條sql查詢的結果卻為空

原因:

not exists的子查詢,對于子查詢不返回行和子查詢返回行的查詢結果是有區別的

這些細小的差別千萬不要被我們所忽視,一旦項目龐大了,想跟蹤到具體的錯誤所花費的時間也是可觀的。盡量把這些不必要的錯誤扼殺在搖籃里。

啰嗦了,呵呵。

上面兩個簡單的Sql,我們從表面理解,查詢的最終結果應該是一樣的,但實際結果卻和我們想象的不一樣

第一條sql查詢的結果有一條數據

第二條sql查詢的結果卻為空

原因:

not exists的子查詢,對于子查詢不返回行和子查詢返回行的查詢結果是有區別的

這些細小的差別千萬不要被我們所忽視,一旦項目龐大了,想跟蹤到具體的錯誤所花費的時間也是可觀的。盡量把這些不必要的錯誤扼殺在搖籃里。

啰嗦了,呵呵。

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享