语法
SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件...;
自连接可以是内连接查询也可以是外连接查询。
演示
我新增了字段friend便于演示
查询所有人的名字以及他们的friend的人的名字:
select a.name,b.name from user a,user b where a.friend=b.id;
其实这也就相当于有两张user表,然后再将这两张表连接起来。
注:自连接时,必须给表起别名,否则无法查询出来
上面在查询时使用的是内连接,friend为null的字段没有查询出来,此时要用外连接
select a.name,b.name from user a left outer join user b on a.friend=b.id;