数据库查询语句问题
一个表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 中强 小强
希望大家帮忙
------解决方案--------------------
你先用你上面那个sql查出有父亲的人员,然后在用一句sql查出没有父亲的人员,再然后用UNION ALL将两个sql连接起来,就会得到你想要的结果!
------解决方案--------------------
------解决方案--------------------
用右外连接把:
SQL code
select a.name,b.name,c.name
from t a right join t b on a.name=b.parentname
right join t c on b.name=c.parentname
------解决方案--------------------
------解决方案--------------------
自身外连接