我基本上有一个friend
表,它有两个主列,uid和fid(用户/朋友id),它们可以任意选择,例如,用户可以与某人成为朋友并有一个条目,尽管朋友可能没有与特定用户成为朋友,我想检查一下这一点。
然而,在未经测试的情况下,我设想了这样的东西:
SELECT fid FROM friends WHERE uid = 20 -- check friends of uid 20
AND
(SELECT uid FROM friends WHERE fid = 20)) = 0
我想这并没有这么容易(如果0真的可以检查结果或是否需要),但是你对如何在没有子查询的情况下做到这一点有什么建议吗?或者这是最好的"破解",可以在没有两个单独的查询和结果检查代码的情况下用我的服务器端语言完成吗?
我还想在未来检查他们是否都是朋友之类的,这样我就可以利用这里的一个更好的例子。
查找UNION
、UNION ALL
和NOT IN
这些将有助于您进行集合比较。