解决方案 »
- oracle客户端与sqlplus的关系
- PL/SQL 用其自带的PL/SQL DEVELOPER 导入dmp文件时发现数据丢失
- 连接建立后等待7200秒客户端与服务器发送什么数据包?
- 怎么把NULL值用0输出
- 请问Oracle中如何更改表的结构,表中的数据不丢失。 急!!!!
- oracle中有没有记录"表结构"的系统表?
- oracle8i 9i form6i 同在一台机器上,结果8i登陆不了控制台
- 在oracle中給字段取別名時﹐別名中間是否可以包含空格﹖
- 结合两个字段写一个小于where 准备时间 < to_date('12-01', 'hh:mi')select 报错
- 如何在oracle817中把sql server的数据库导入Oracle中?
- Oracle中的存储过程,如何获取到游标的长度?
- 如何在SYSTEM表空间中确定一个数据表示如何定义的
greatest(nvl(tableA.managerid,0),nvl(tableB.managerid,0)) managerid,
deposit,loan from
tableA full join tableB on
tableA.customid=tableB.customid and tableA.managerid=tableB.managerid;
with taba as(
select '1001' cid,'3000' mid,4000 dps from sysibm.sysdummy1
union all
select '1002' cid,'8000' mid,47000 dps from sysibm.sysdummy1),
tabb as(
select '1001' cid,'2000' mid,3000 ln from sysibm.sysdummy1
union all
select '1001' cid,'3000' mid,5000 ln from sysibm.sysdummy1)
select case when a.cid is null then b.cid else a.cid end,
case when a.mid is null then b.mid else a.mid end,
dps,ln
from taba a full join tabb b
on a.cid=b.cid
and a.mid=b.mid
--------------------------------
1001 3000 4000 5000
1001 2000 3000
1002 8000 47000
最好用case when 这样的sql99通用语法,但是只是在oracle上适用 greatest 绝对好使。
你执行上的Sql,看看执行计划,消耗的内存与时间。。就知道哪个效率高了。