1

如果我有以下 SQL:

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

我得到以下结果

在此处输入图像描述

但是,如果我在最后添加以下 WHERE,我根本不会得到任何结果!

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

有人知道这里有什么问题吗?(好久没用JOIN了,大家一定知道)

4

5 回答 5

8
WHERE friendship.friend_name = NULL

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

WHERE friendship.friend_name IS NULL
于 2013-06-18T11:31:52.517 回答
2

尝试使用IS NULL而不是= NULL. IS是具有空值的正确比较器。

于 2013-06-18T11:31:47.973 回答
1

试试看:

... WHERE friendship.friend_name IS NULL

代替 :

WHERE friendship.friend_name = NULL
于 2013-06-18T11:36:46.393 回答
0

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

用这个

于 2013-06-18T11:56:03.673 回答
0

你可以试试这个:

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

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

于 2013-06-18T12:41:36.490 回答