Mysql 子查询是检查用户友谊的理想方法吗?(如果他们是回来的朋友)

Mysql 子查询是检查用户友谊的理想方法吗?(如果他们是回来的朋友),mysql,select,subquery,Mysql,Select,Subquery,我基本上有一个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 我认为这并不像这样简单(如

我基本上有一个
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真的可以检查结果,或者是否需要),但是您对如何在没有子查询的情况下执行此操作有什么建议吗?或者,在我的服务器端语言中,如果没有两个单独的查询和结果检查代码,这是最好的“黑客”方法吗


我还想检查他们将来是否都是朋友之类的,这样我就可以利用这里的一个更好的例子。

查找
联合
联合所有人
,以及
不在

这些将有助于您进行集合比较