天天看點

[轉載]SQL語句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的差別

前幾天在查資料中的時候用了and結果一直不對(查的資料多了)直到我把and 改成where 資料就正常了!

看到一篇文章!特意轉載,原部落客未申明不可轉載,若作者不願意則删除…

  衆所周知,資料庫的表都是單獨存在的,但是當我們進行聯合查詢(多表查詢)時,我們獲得資料庫傳回的值時就好像在一張表裡一樣,這是因為在進行聯合查詢時資料庫會生成一個臨時表傳回給我們所想要的資料資訊,這時我們都是通過LEFT JOIN 等語句進行相關聯,并且我們也會為我們所想查詢的資料進行一個篩選,這時我們就會用到過濾語句。

  LEFT JOIN ON WHERE:在臨時表生成後,再對臨時表的資料進行過濾,再傳回左表。

  LEFT JOIN ON AND:在臨時表生成的過程時,ON中的條件不管是否為真,都将傳回左表。

  例如:

SQL語句如下:

當執行[1]的時候得:

當執行[2]的時候得: