读书人

数据库查询语句有关问题

发布时间: 2012-10-13 11:38:17 作者: rapoo

数据库查询语句问题
一个表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查出有父亲的人员,然后在用一句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
[解决办法]
探讨
你先用你上面那个sql查出有父亲的人员,然后在用一句sql查出没有父亲的人员,再然后用UNION ALL将两个sql连接起来,就会得到你想要的结果!

[解决办法]
自身外连接

读书人网 >J2EE开发

热点推荐