两个表联合查询A和B,以idcard为联合主键,想要的效果是查出A表所有的数据,如果a.idcard=b.idcard中B表有数据就查出来,否则该字段为空。例如 A 里面是姓名和身份证 B里面是身份证 和 年龄 B 表的数据是辅助查询,如何以A表数据为主查出全部?我的sql:
select a.idcard,a.name,b.age from A a,B b where a.idcard=b.idcard可是这么做得效果如果在B表没有记录的就查不出来了!我想要以A表为主的所有数据,如果B表里没有就将该值设置为空。求助!
select a.idcard,a.name,b.age from A a,B b where a.idcard=b.idcard可是这么做得效果如果在B表没有记录的就查不出来了!我想要以A表为主的所有数据,如果B表里没有就将该值设置为空。求助!
解决方案 »
- .NET访问Oracle的性能如何
- 纠结的分区和索引方案
- 一个hibernate的问题,请大侠们帮忙
- 在Oracle中不用组函数(max().....,order by)求一列的最大值(要讲究效率)
- 这段sql语句怎样优化,高手们帮帮我啊,急急急!
- 请教高手,用SQL怎么查询某个表的建索引的语句,谢谢
- WIN7+ORACLE 10+SSH,TNSListener服务重启,TOMCAT才能继续启动
- ORACLE序列得问题
- 请问:在oracle中如何查看该服务器上有多少个数据库实例,及它们的状态
- 急!!!数据快照问题,问能不能在建立快照的过程中,关联几个表的数据一并拿过来
- oracle修改问题
- oracle数据库数据移动
select a.idcard,a.name,b.age from A a left join B b on( a.idcard=b.idcard)
参考代码:SELECT idcard, a.name, b.age
FROM A a LEFT OUTER JOIN B b
USING(idcard)