一般来说oracle中的外连接是用(+)
a.col1 = b.col1(+)的意思是
对于a中的记录如果b中没有相应记录的话
(既a中的col1在b中没有对应的col1),选择出的结果为a中记录列出,而涉及到b中的记录用null补上。
如果有对应记录,则用a.col1=b.col1条件将其选择出。例子:
a表
col1 col2
1 a
2 b
3 cb表
col1 col3
1 d
2 e
select a.col1,a.col2,b.col3 from a,b where a.col1=b.col1(+);
结果:
col1 col2 col3
1 a d
2 b e
3 c
呵呵,够明白了吧。
a.col1 = b.col1(+)的意思是
对于a中的记录如果b中没有相应记录的话
(既a中的col1在b中没有对应的col1),选择出的结果为a中记录列出,而涉及到b中的记录用null补上。
如果有对应记录,则用a.col1=b.col1条件将其选择出。例子:
a表
col1 col2
1 a
2 b
3 cb表
col1 col3
1 d
2 e
select a.col1,a.col2,b.col3 from a,b where a.col1=b.col1(+);
结果:
col1 col2 col3
1 a d
2 b e
3 c
呵呵,够明白了吧。
解决方案 »
- 使用C#链接oracle时出现ora-12557错误
- 请教一个 需要写循环过程的问题,万分感谢!
- SOS:关于Oracle存储过程中的临时表的用法
- 对分区表有深刻理解的高手请进
- 用户权限设计方案?
- 数据库默认的角色是sysdba的用户和口令都是些什么?高分赠!
- [请教]想通过网络把一个主机的数据拷贝到另一主机,该怎么做?
- 采用SQL?采用Oracle?
- 哪里可以较快速的下载JDeveloper 9.0.3、BI Bean 9.0.3?
- 急!!!错误:通信通道的文件结束
- 在oracle的ops结构中,如何指定连接的实例
- 今天买了一个oracle9i,3张碟的,可安装的时候却。。。。。。。。。。。。
select a.* from a,b where a.column1 = b.column1 (+)
在a表中存在而b表中不存在的记录。