ORACLE 多表连接与子查询

ORACLE 多表连接与子查询

ID:42604237

大小:13.64 KB

页数:9页

时间:2019-09-18

ORACLE 多表连接与子查询_第1页
ORACLE 多表连接与子查询_第2页
ORACLE 多表连接与子查询_第3页
ORACLE 多表连接与子查询_第4页
ORACLE 多表连接与子查询_第5页
ORACLE 多表连接与子查询_第6页
ORACLE 多表连接与子查询_第7页
ORACLE 多表连接与子查询_第8页
ORACLE 多表连接与子查询_第9页
资源描述:

《ORACLE 多表连接与子查询》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ORACLE多表连接与子查询Oracle表连接SQL/Oracle使用表连接从多个表中查询数据语法格式:select字段列表fromtable1,table2wheretable1.column1=table2.column2;说明:在where子句中指定连接条件当被连接的多个表中存在同名字段时,必须在该字段前加上"表名"作为前缀.连接的类型Oracle8i之前的表连接:等值连接(Equijoin)非等值连接(Non-Equijoin)外连接(Outerjoin):-->左外连接-->右外连接自连接(Selfjoin)Oracle9

2、之后新引入的连接形式(支持SQL99规范)交叉连接(Crossjoin)自然连接(Naturaljoin)使用Using子句建立连接使用on子句建立连接外连接(Outerjoin):-->左外连接-->右外连接-->全外连接等值连接(Equijoin)selectempno,ename,sal,emp.deptno,dnamefromemp,deptwhereemp.deptno=dept.deptno;多表连接中:可使用AND操作符增加查询条件使用表别名可以简化查询使用表名(表别名)前缀可提高查询效率为了连接n个表,至少需要n-1

3、个连接条件非等值连接(Non-Equijoin)外连接(Outerjoin)使用外连接可以看到参与连接的某一方不满足连接条件的记录外连接运算符为(+)传统的外连接分为左外连接和右外连接两种语法格式:select字段列表fromtable1,table2wheretable1.column1(+)=table2.column2;select字段列表fromtable1,table2wheretable1.column1=table2.column2(+);自连接(Selfjoin)selecta.enpno,a.ename,a.ngr

4、,b.enamefromempa,empbwherea.ngr=b.enpno;SQL99连接语法SQL1999规范中规定的连接查询语法select字段列表fromtable1[crossjointable2]

5、[naturaljointable2]

6、[jointable2using(字段名)]

7、[jointable2on(table.column_name=table2.column_name)]

8、[(left

9、right

10、fullout)jointable2on(table1.column_name=table2.column_

11、name)];交叉连接(Crossjoin)Crossjoin产生了一个笛卡尔集,其效果等同于再两个表进行连接时未使用where子句限定连接条件;selectempno,ename,sal,emp.deptno,dnamefromempcrossjoindept;自然连接(Naturaljoin)Naturaljoin基于两个表中的全部同名列建立连接从两个表中选出同名列的值均对应相等的所有行如果两个表中的同名列的所有数据类型不同,则出错不允许在参照列上使用表名或者别名作为前缀selectempno,ename,sal,emp.dep

12、tno,dnamefromempnaturaljoindept;Using子句如果不希望参照被连接表的所有同名列进行等值连接,自然连接将无法满足要求,可以在连接时使用USING子句来设置用于等值连接的列(参照列)名.selectempno,ename,sal,emp.deptno,dnamefromempjoindeptusing(deptno);不允许在参照列上使用表名或者别名作为前缀On子句如果要参照非同名的列进行等值连接,或想设置任意的连接条件,可以使用On子句selectempno,ename,sal,emp.deptno,

13、dnamefromempjoindepton(emp.deptno=dept.deptno);多表连接使用SQL99连接语法,两个以上的表进行连接时应依次/分别指定相临的两个表之间的连接条件.select字段列表fromtable1[crossjointable2]

14、[naturaljointable2]

15、[jointable2using(字段名)]

16、[jointable2on(table.column_name=table2.column_name)]

17、[(left

18、right

19、fullout)jointable2on(table

20、1.column_name=table2.column_name)][crossjointable3]

21、[naturaljointable3]

22、[jointable3using(字段名)]

23、[jointable3on(table.co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。