- 浏览: 2270696 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
转载:Oracle内连接、左外连接、右外连接、全外连接小总结
数据库版本:Oracle 9i
连接n个表,至少需要n-1个连接条件。例如:连接三个表,至少需要两个连接条件。
表TESTA,TESTB,TESTC,各有A, B两列
连接分为两种:内连接与外连接。
A.内连接
内连接,即最常见的等值连接,例:
B.外连接
外连接分为左外连接,右外连接和全外连接。
1. 左外连接 left outer join 或者 left join
左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:
Oracle 支持另一种写法
三个表做左外连接
Oracle 支持的另外一种写法
2. 右外连接 right outer join 或者 right join
右外连接是在等值连接的基础上加上被连接表的不匹配数据
Oracle支持的另一种写法
3.全外连接 full outer join 或者 full join
全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上
全外连接的等价写法,对同一表先做左连接,然后右连接
oracle中的各种连接(join):内连接、外连接、自然连接、自连接、交叉连接
内连接(inner join)就是将根据检索条件将满足条件的数据选择出来,oracle首先用第一张表的第一条数据去扫描另一张表的所有数据,如果遇到符合条件的数据就加入到结果集中。直到检索完第二张表的所有数据。然后用第一张表的第二条数据,重复刚才的动作,直到以第一张的最后一条数据。其关键字是join,可以使用using关键字和on关键字。oracle中默认的连接是内连接。
外连接(outer join)是根据需要将表中某些不符合选择条件的数据也列举出来,根据选择标准的不同分为左连接、右连接和满外连接。
自然连接(natural join)是由oracle自行决定哪些列作为连接的条件。Oracle是这么确定的:将不同表中的那些具有相同名称和数据类型的字段用相等的条件连接起来。
自连接(self join)中,Oracle将一个表的一个镜像当作另一个表,你可以像使用两个表一样使用这一个表。
交叉连接(cross join)是两个表的笛卡尔积,即不做任何条件限制,他们的结果集的数据的条数是两个表的数据条数的乘积。
在使用关键字JOIN进行不同的表连接时:-》使用USING子句指定等值连接中需要用到的列;
-》使用ON子句指定额外的连接条件;
-》使用AND增加连接条件;
数据库版本:Oracle 9i
连接n个表,至少需要n-1个连接条件。例如:连接三个表,至少需要两个连接条件。
表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(+)
三个表做左外连接
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(+)
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
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
oracle中的各种连接(join):内连接、外连接、自然连接、自连接、交叉连接
内连接(inner join)就是将根据检索条件将满足条件的数据选择出来,oracle首先用第一张表的第一条数据去扫描另一张表的所有数据,如果遇到符合条件的数据就加入到结果集中。直到检索完第二张表的所有数据。然后用第一张表的第二条数据,重复刚才的动作,直到以第一张的最后一条数据。其关键字是join,可以使用using关键字和on关键字。oracle中默认的连接是内连接。
外连接(outer join)是根据需要将表中某些不符合选择条件的数据也列举出来,根据选择标准的不同分为左连接、右连接和满外连接。
自然连接(natural join)是由oracle自行决定哪些列作为连接的条件。Oracle是这么确定的:将不同表中的那些具有相同名称和数据类型的字段用相等的条件连接起来。
自连接(self join)中,Oracle将一个表的一个镜像当作另一个表,你可以像使用两个表一样使用这一个表。
交叉连接(cross join)是两个表的笛卡尔积,即不做任何条件限制,他们的结果集的数据的条数是两个表的数据条数的乘积。
在使用关键字JOIN进行不同的表连接时:-》使用USING子句指定等值连接中需要用到的列;
-》使用ON子句指定额外的连接条件;
-》使用AND增加连接条件;
发表评论
-
oracle之INSTR函数
2011-10-13 15:33 18参考资料 1 Oracle的instr函数 http://kn ... -
oracle之DECODE()函数
2011-10-13 10:12 1402参考资料 1 oracle中的DECODE()函数 http: ... -
oracle之存储过程,临时表,游标示例
2011-09-22 11:58 7758参考资料 1 ORACLE 存储过程返回临时表结果集 htt ... -
oracle之删除临时表(14452)
2011-09-22 11:25 2820参考资料 1 Oracle临时表删除时的ORA-14452错误 ... -
oracle之truncate && delete
2011-09-22 09:19 2870参考资料 实例对比Oracle ... -
oracle之临时表
2011-09-20 14:49 1365参考资料 1 Oracle 临时表用法 http://www. ... -
oracle之随机数(结果集)
2011-09-20 11:32 2121参考资料 Oracle中随机抽 ... -
转载:本地每天定时备份数据库
2011-09-15 12:52 1252转载: 本地每天定时备份数据库 http://relic6.i ... -
Oracle之instr(字符串包含函数)
2011-07-29 11:01 49219参考资料 1 oracle函数大 ... -
oracle中关于in和exists,not in 和 not exists用法与区别
2011-06-27 10:25 4004参考资料 1 oracle中关于in和exists,not i ... -
Oracle:递归查询SQL
2011-05-06 16:59 2001有部门表: ID,PID --查询所有 select cou ... -
Oracle:行转列函数,查询重复记录函数,过滤表中重复记录函数
2011-04-28 11:34 27781 行转列函数: select wm_concat(usern ... -
Oracle:创建序列与触发器
2011-04-15 14:41 17881 创建序列(为触发器提供服务) create seque ... -
Navicat for Oracle Cannot load OCI DLL
2011-04-12 14:34 19121参考资料 Navicat for Oracle Cannot ... -
oracle: if...elseif...else用法
2011-03-31 16:38 15092参考资料 1 <转载>oracle存储过程中的if ... -
Oracle 自动生成 32位ID
2011-03-11 11:27 55181 code select SUBSTR(TO_CHAR ... -
Oracle split(分隔字符串函数)
2011-03-11 10:57 15302一 Oracle版本: 10g PLSQL: 8.0 二 具体 ... -
64位windows7 上安装32位oracle 10g 的方法
2010-12-23 12:17 3902转载:64位windows7 上安装32位oracle 10g ... -
Oracle 表解锁
2010-12-07 15:43 1539转载:Oracle 表解锁 http://toyota2006 ... -
Oracle字符串函数
2010-12-06 13:21 2663转载:Oracle字符串函数 ...
相关推荐
oracle 左连接 右连接 学习 精选资料
Oracle左连接,右连接.doc Oracle左连接,右连接.doc
左外连接右外连接,内连接区别,oracle的开发中很需要的,大家看看吧
Oracle左(外)、右(外)、全(外)、(内)连接语法与SQL标准的比较
Oracle连接有多中,我是在平常开发项目过程中用到的Oracle左连接进行了简单的阐述。
oracle数据库表左连接右连接全连接的认识
数据库左右连接方法详细讲解,文档内列举了实例。很清晰
Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
NULL 博文链接:https://nickevin.iteye.com/blog/2004401
sql左连接,右连接,内连接,全连接详细讲解
Oracle+表连接方式(内连接-外连接-自连接)+详解
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
屏蔽了1521端口 Oracle远程连接数据库总结 注:本文讲述了oracle数据库实例连接的配置过程,三个重要的配置文件位于C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN目录下 1. sqlplus sys/oracle@orcl sqlnet.ora 文件...
NULL 博文链接:https://201307125158.iteye.com/blog/2115424
这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...
JAVA 使用数据库连接池连接Oracle数据库,全代码,附加详细说明
内连接 自然连接 左外连接 右外连接 笛卡尔连接 索引连接 嵌套连接
强制释放Oracle数据连接方案,经常会遇到数据库无法连接,发现是连接数超过限制,如何能够看到默认的数据库连接数量限制呢,如何能够增大数量限制呢? .......
Oracle最大连接数
C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法