SQL - 无法检查是否为NULL

时间:2013-06-18 11:30:31

标签: sql select join

如果我有以下SQL:

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,你必须知道)

5 个答案:

答案 0 :(得分:8)

WHERE friendship.friend_name = NULL

您无法使用=与NULL进行比较,您需要使用IS NULL;

WHERE friendship.friend_name IS NULL

答案 1 :(得分:2)

尝试使用IS NULL代替= NULLIS是具有空值的正确比较器。

答案 2 :(得分:1)

试试:

... WHERE friendship.friend_name IS NULL

代替:

WHERE friendship.friend_name = NULL

答案 3 :(得分:0)

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

使用此

答案 4 :(得分:0)

你可以试试这个:


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

where子句过滤掉左连接不成功的行。将其移至联接: