数据库版本:Oracle 9i
表TESTA,TESTB,TESTC,各有A, B两列
连接分为两种:内连接与外连接。
A.内连接
内连接,即最常见的等值连接,例:
SELECT *
FROM TESTA,TESTB
WHERE TESTA.A=TESTB.A
结果
B.外连接
外连接分为左外连接,右外连接和全外连接。
1. 左外连接 left outer join 或者 left join
左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:
SELECT *
FROM TESTA
LEFT OUTER JOIN TESTB
ON TESTA.A=TESTB.A
Oracle 支持另一种写法
SELECT *
FROM TESTA,TESTB
WHERE TESTA.A=TESTB.A(+)
结果:
A
|
B
|
A
|
B
|
001
|
10A
|
001
|
10B
|
002
|
20A
|
|
|
三个表做左外连接
SELECT *
FROM TESTA
LEFT OUTER JOIN TESTB
ON TESTA.A=TESTB.A
LEFT OUTER JOIN TESTC
ON TESTA.A=TESTC.A
Oracle 支持的另外一种写法
SELECT *
FROM TESTA,TESTB,TESTC
WHERE TESTA.A=TESTB.A(+)
AND TESTA.A=TESTC.A(+)
结果:
A
|
B
|
A
|
B
|
A
|
B
|
001
|
10A
|
001
|
10B
|
001
|
10C
|
002
|
20A
|
|
|
|
|
2. 右外连接 right outer join 或者 right join
右外连接是在等值连接的基础上加上被连接表的不匹配数据
SELECT *
FROM TESTA
RIGHT OUTER JOIN TESTB
ON TESTA.A=TESTB.A
Oracle支持的另一种写法
SELECT *
FROM TESTA,TESTB
WHERE TESTA.A(+)=TESTB.A
结果:
A
|
B
|
A
|
B
|
001
|
10A
|
001
|
10B
|
|
|
003
|
30B
|
3.全外连接 full outer join 或者 full join
全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上
SELECT *
FROM TESTA
FULL OUTER JOIN TESTB
ON TESTA.A=TESTB.A
全外连接的等价写法,对同一表先做左连接,然后右连接
SELECT TESTA.*,TESTB.*
FROM TESTA
LEFT OUTER JOIN TESTB
ON TESTA.A=TESTB.A
UNION
SELECT TESTA.*,TESTB.*
FROM TESTB
LEFT OUTER JOIN TESTA
ON TESTA.A=TESTB.A
结果:
A
|
B
|
A
|
B
|
001
|
10A
|
001
|
10B
|
002
|
20A
|
|
|
|
|
003
|
30B
|
相关推荐
Oracle左连接,右连接.doc Oracle左连接,右连接.doc
oracle 左连接 右连接 学习 精选资料
Oracle左(外)、右(外)、全(外)、(内)连接语法与SQL标准的比较
Oracle+表连接方式(内连接-外连接-自连接)+详解
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
左外连接右外连接,内连接区别,oracle的开发中很需要的,大家看看吧
oracle数据库表左连接右连接全连接的认识
屏蔽了1521端口 Oracle远程连接数据库总结 注:本文讲述了oracle数据库实例连接的配置过程,三个重要的配置文件位于C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN目录下 1. sqlplus sys/oracle@orcl sqlnet.ora 文件...
JAVA 使用数据库连接池连接Oracle数据库,全代码,附加详细说明
强制释放Oracle数据连接方案,经常会遇到数据库无法连接,发现是连接数超过限制,如何能够看到默认的数据库连接数量限制呢,如何能够增大数量限制呢? .......
Oracle连接有多中,我是在平常开发项目过程中用到的Oracle左连接进行了简单的阐述。
Oracle最大连接数
C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法
理解oracle中的外连接,希望对下载的人有帮助
oracle遇到连接空闲例程时的做法
Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具...
word文件,深入讲解Oracle的外连接查询
oracle客户端配置连接oracle客户端配置连接oracle客户端配置连接
oracle修改最大连接数
oracle数据库连接工具oracle数据库连接工具oracle数据库连接工具