"SELECT distinct * from (select friendlist.srcid, friendlist.dstid FROM friendlist LEFT JOIN " + "(SELECT f1.srcId, f1.dstId FROM friendlist as f1 INNER JOIN friendlist as f2 ON f1.srcId = f2.dstId AND f2.srcId = f1.dstId) as t1 " + "ON friendlist.dstid = t1.dstid AND friendlist.srcid = t1.srcid where t1.srcid IS NULL) as t2 where t2.dstid = \"%s\";"
时间: 2024-03-15 20:42:41 浏览: 310
这是一个 SQL 查询语句,目的是查询出指定用户的所有朋友。具体实现方式是通过对 friendlist 表进行自关联,找出所有没有相互关注的用户,并将结果保存在 t2 表中,最终再从 t2 表中筛选出指定用户的所有朋友。其中,srcid 和 dstid 分别表示关注者和被关注者的 ID,%s 是一个占位符,需要通过程序传入具体的用户 ID。
阅读全文