2013-06-18 51 views
1

如果我有以下SQL:SQL - 無法檢查NULL

SELECT * FROM users LEFT JOIN friendship ON users.username = friendship.user_name 

我得到以下結果

enter image description here

但是如果我添加WHERE末下面,我根本沒有得到任何結果!

SELECT * FROM users LEFT JOIN friendship ON users.username = friendship.user_name WHERE friendship.friend_name = NULL 

有人知道這裏有什麼問題嗎? (我有一段時間沒有使用JOIN,你必須知道)

+0

可能重複的[SQL:選擇只包含NULL值的列](http://stackoverflow.com/questions/63291/sql-select-columns-with-null-values-only) – Luv

回答

2

嘗試使用IS NULL而不是= NULLIS是具有空值的正確比較器。

+0

很好的工作,謝謝你的快速答案。 只要我被允許,我會立即作爲回答 – Juggernaut

+0

不客氣。約阿希姆在我身後只有2秒... :) –

8
WHERE friendship.friend_name = NULL 

你不能比較使用=爲NULL,則需要使用IS NULL;

WHERE friendship.friend_name IS NULL 
1

試一下:

... WHERE friendship.friend_name IS NULL 

相反的:

WHERE friendship.friend_name = NULL 
0

dship ON users.username = friendship.user_name WHERE friendship.friend_name = ''

使用這

0

你可以試試這個:

 

SELECT * FROM users LEFT JOIN friendship ON users.username = friendship.user_name AND friendship.friend_name = NULL 

WHERE子句過濾掉其中的左連接不成功行。將其移動到加入: