MySQL自联合查询的一个例子

需求:查询当前Id所有邀请的人再邀请的人。相当于查询你朋友的所有朋友。用户表只有一个。

方法:
1、分析
A的邀请人ID是B的ID
B的邀请人ID是要查询的ID

2、写SQL语句
方法一:

  SELECT sh_user_a.*
  FROM sh_user sh_user_a
  LEFT OUTER JOIN
  `sh_user` sh_user_b ON `sh_user_a`.`invited_id` = 
  `sh_user_b`.`id`
  WHERE `sh_user_b`.`invited_id` = #{uid}

方法二:

SELECT * FROM `sh_user` WHERE `invited_id` in (SELECT id FROM sh_user WHERE invited_id=#{uid})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容