表:
我需要一个查询来搜索朋友(姓名),并检查他们是否存在于用户表中,因此他们也在注册的网站上。
这是否可以使用左连接,如果是这样的话?
感谢。
答案 0 :(得分:3)
SELECT ff.id, ff.uid, ff.friendUid, ff.name, u.id, u.name
FROM usersFacebookFriends ff
LEFT JOIN users u
ON ff.name = u.name;
如果您只想要存在的那些:
SELECT ff.id, ff.uid, ff.friendUid, ff.name, u.id, u.name
FROM usersFacebookFriends ff
INNER JOIN users u
ON ff.name = u.name;
如果您只想要那些不存在的那些:
SELECT ff.id, ff.uid, ff.friendUid, ff.name, u.id, u.name
FROM usersFacebookFriends ff
LEFT JOIN users u
ON ff.name = u.name
WHERE u.id IS NULL;
答案 1 :(得分:0)
我想这应该能找到一份工作。如果facebook朋友没有在您的站点注册,则corrsponding加入用户表字段将为NULL。
SELECT f.name, u.* FROM usersFacebookFriends AS f
LEFT JOIN users AS u
ON f.friendUid = u.id
WHERE f.uid = 123
如果您只需要找到存在的人,请将LEFT JOIN
更改为INNER JOIN
。