1。Oracle左连接
SQL> select * from a;
A
----------
1
2
3
4
SQL> select * from b;
A B C
---------- ---------- ----------
1 4 10
2 5 11
5 6 12
6 7 13
SQL>select A.a,B.A,B.b,b.c
from A,B
where A.a=B.a;
A A B C
---------- ---------- ---------- ----------
1 1 4 10
2 2 5 11
SQL>select A.a,B.A,B.b,b.c
from A,B
where A.a=B.a(+);
A A B C
---------- ---------- ---------- ----------
1 1 4 10
2 2 5 11
3
4
SQL>select A.a,B.A,B.b,b.c
from A,B
where A.a=B.a(+) and b.c>10;
A A B C
---------- ---------- ---------- ----------
2 2 5 11
SQL>select A.a,B.A,B.b,b.c
from A,B
where A.a=B.a(+) and b.c(+)>10;
A A B C
---------- ---------- ---------- ----------
1
2 2 5 11
3
4
有(+)的是连接条件 不带的是对连接结果过滤
2。空值比较的问题
table:
cd cd1 cd1 name
0 1 1 張
1 2 李
2 3 張
3
4 4 4 張
select count(*) from table, where table.cd1 = table.cd2 結果:2
select count(*) from table, where table.cd1 <> table.cd2 結果:0
修改例子 (nvl2(W.JIKI_FLG, nvl(B1.SHAIN_NMHE_MIDDLE,' ') , NULL ) <> nvl2(W.SHINKOMI_FLG, nvl(S.TXT_NNAMEM,' ') , NULL ) ) nvl2()関数はテーブルで二つデータを含むだけのを取得
3。客户端配置Oracle时只需配置TNSNAMES.ORA文件即可,路径为 C:/oracle/ora92/network/admin/tnsnames.ora ,这个文件的里面有路径说明