一个表create table t(name varchar,parentname varchar);
数据如下
小明 中明
中明 大明
小亮 中亮
中亮 大亮
小强 中强
我用如下语句 select a.name,b.name,c.name from t a,t b,t b where a.name=b.parentname b.name=c.parentname
会输出
大明 中明 小明
大亮 中亮 小亮但由于中强没有父亲,所以查询不到信息,但是我又想知道他的存在,希望有一个sql语句的出如下结果大明 中明 小明
大亮 中亮 小亮
null 中强 小强希望大家帮忙
数据如下
小明 中明
中明 大明
小亮 中亮
中亮 大亮
小强 中强
我用如下语句 select a.name,b.name,c.name from t a,t b,t b where a.name=b.parentname b.name=c.parentname
会输出
大明 中明 小明
大亮 中亮 小亮但由于中强没有父亲,所以查询不到信息,但是我又想知道他的存在,希望有一个sql语句的出如下结果大明 中明 小明
大亮 中亮 小亮
null 中强 小强希望大家帮忙
from t a right join t b on a.name=b.parentname
right join t c on b.name=c.parentname这样写就算没有父亲,null也会显示出来
另外楼主的SQL语句应该不对吧,应该是:select a.parentname,a.name,b.name from t a,t b where a.name=b.parentname;