- 浏览: 2290298 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (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 1447参考资料 1 oracle中的DECODE()函数 http: ... -
oracle之存储过程,临时表,游标示例
2011-09-22 11:58 7818参考资料 1 ORACLE 存储过程返回临时表结果集 htt ... -
oracle之删除临时表(14452)
2011-09-22 11:25 2920参考资料 1 Oracle临时表删除时的ORA-14452错误 ... -
oracle之truncate && delete
2011-09-22 09:19 2924参考资料 实例对比Oracle ... -
oracle之临时表
2011-09-20 14:49 1406参考资料 1 Oracle 临时表用法 http://www. ... -
oracle之随机数(结果集)
2011-09-20 11:32 2176参考资料 Oracle中随机抽 ... -
转载:本地每天定时备份数据库
2011-09-15 12:52 1295转载: 本地每天定时备份数据库 http://relic6.i ... -
Oracle之instr(字符串包含函数)
2011-07-29 11:01 49302参考资料 1 oracle函数大 ... -
oracle中关于in和exists,not in 和 not exists用法与区别
2011-06-27 10:25 4061参考资料 1 oracle中关于in和exists,not i ... -
Oracle:递归查询SQL
2011-05-06 16:59 2065有部门表: ID,PID --查询所有 select cou ... -
Oracle:行转列函数,查询重复记录函数,过滤表中重复记录函数
2011-04-28 11:34 28171 行转列函数: select wm_concat(usern ... -
Oracle:创建序列与触发器
2011-04-15 14:41 18301 创建序列(为触发器提供服务) create seque ... -
Navicat for Oracle Cannot load OCI DLL
2011-04-12 14:34 19177参考资料 Navicat for Oracle Cannot ... -
oracle: if...elseif...else用法
2011-03-31 16:38 15189参考资料 1 <转载>oracle存储过程中的if ... -
Oracle 自动生成 32位ID
2011-03-11 11:27 56061 code select SUBSTR(TO_CHAR ... -
Oracle split(分隔字符串函数)
2011-03-11 10:57 15440一 Oracle版本: 10g PLSQL: 8.0 二 具体 ... -
64位windows7 上安装32位oracle 10g 的方法
2010-12-23 12:17 3941转载:64位windows7 上安装32位oracle 10g ... -
Oracle 表解锁
2010-12-07 15:43 1583转载:Oracle 表解锁 http://toyota2006 ... -
Oracle字符串函数
2010-12-06 13:21 2706转载:Oracle字符串函数 ...
相关推荐
下面我们将详细介绍 Oracle 中的左连接、右连接、内连接、全连接和交叉连接。 左连接(Left Outer Join) 左连接是一种外连接,它返回左表中的所有记录,并将右表中的记录匹配到左表中。如果右表中没有匹配的记录...
通过对比可以看出,Oracle在实现左(外)、右(外)、全(外)以及内连接时,其语法与SQL标准有所不同,尤其是在左(外)和右(外)连接上使用了独特的“+”符号来表示可选项。对于全(外)连接,Oracle通过组合左(外)和右(外)...
本篇文章将深入探讨Oracle中的左连接(LEFT JOIN)和右连接(RIGHT JOIN),这两种连接方式都是为了在不同表之间建立联系,特别是在数据不完全匹配的情况下。 首先,我们来看一下左连接(LEFT JOIN)。左连接返回左...
右连接也称为右外连接,它会返回右表的所有行,并且只返回左表中与右表匹配的行。如果左表中没有匹配的行,则会填充NULL值。 **语法示例:** ```sql SELECT a.studentno, a.studentname, b.classname FROM ...
本文将详细介绍Oracle中的左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)、全连接(Full Join)以及交叉连接(Cross Join)的方法,并通过示例来帮助理解每种连接的特点。 ### 一、左连接(Left...
左连接和右连接的区别在于基准表的选择,左连接将左边的表作为基准表,全表数据都要显示,而右连接将右边的表作为基准表,全表数据都要显示。例如: `SELECT e.empno, e.ename, d.dname FROM emp e LEFT JOIN dept ...
例如,通过左连接和右连接的组合,可以实现全连接(Full Join),获取两个表的所有记录。同时,还可以结合使用WHERE子句和聚合函数(如COUNT, SUM, AVG等)来过滤和统计数据。 了解并熟练掌握这些连接方式,对于...
Oracle连接有多中,我是在平常开发项目过程中用到的Oracle左连接进行了简单的阐述。
外连接分为三种类型:左外连接(Left Outer Join)、右外连接(Right Outer Join)和全外连接(Full Outer Join)。本篇文章将深入探讨这三种外连接的概念、语法以及它们在实际应用中的作用。 1. 左外连接(Left ...
"SQL语句.pdf"可能包含了更广泛的SQL语句类型,包括各种JOIN操作,如左连接、右连接、全连接和内连接,以及子查询、联接查询等。通过这些练习,你可以提升SQL编写能力,更好地处理复杂的数据关系。 "Oracle_01.pdf...
全外连接结合了左外连接和右外连接的功能,返回两个表中的所有记录,无论是否存在匹配。如果一个表中没有匹配项,那么结果将显示另一个表的所有字段,并在没有匹配的字段处填充NULL。 除了这些外连接,还有其他类型...
右连接也称为右外连接,用于从右侧表中检索记录,返回右侧表中的所有记录,并将左侧表中的匹配记录附加到右侧表中。如果左侧表中没有匹配记录,将返回空值。右连接的基本语法为: SELECT * FROM 左侧表 RIGHT JOIN ...
Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
sql左连接,右连接,内连接,全连接详细讲解
### 强制释放Oracle数据连接方案 在日常的数据库管理工作中,我们经常遇到数据库连接超限的情况,这通常是由于大量的数据库连接未被正确关闭或回收所导致的。本文将详细介绍如何查看并调整Oracle数据库的连接数量...
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
标题中提到的“Oracle客户端连接远程服务器”,是指使用Oracle数据库客户端软件来建立与远程Oracle数据库服务器的连接。Oracle数据库是一种广泛使用的商业数据库系统,它支持多用户并发访问并保证数据的一致性,适用...