DBA面试题

当前位置: 面试问题网 > DBA面试题 > Oracle左连接和右连接实现方式

Oracle左连接和右连接实现方式

在Oracle PL-SQL中,左连接和右连接以如下方式来实现
   查看如下语句:
   SELECT emp_name, dept_name
   FORM Employee, Department
   WHERE Employee.emp_deptid(+) = Department.deptid
   此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。
   反之:
   SELECT emp_name, dept_name
   FORM Employee, Department
   WHERE Employee.emp_deptid = Department.deptid(+)则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示
   有两个表T1和T2,两个表除了主键索引外均无其他索引,这两个表由T1.F1(主键),T2.F2(主键)进行左连接,SQL语句有两种写法:
   1. SELECT * FROM T1,T2 WHERE T1.F1=T2.F2(+)
   2. SELECT * FROM T1 LEFT JOIN T2 ON T1.F1=T2.F2
   当查看1的执行计划时发现T1为全表扫描,T2为索引扫描。
   当查看2的执行计划时发现两个表均为全表扫描。
   不过我在oracle9.2自带的SQL Referrence.pdf的第511页上看到有这样一句:
   Oracle Corporation recommends that you use the FROM clause OUTER JOIN syntax rather than the Oracle join operator.
   前者选择的优化器是RULE,而后者选择的优化器是CBO的ALL ROWS。

【Oracle左连接和右连接实现方式】相关文章

1. Oracle左连接和右连接实现方式

2. 说一下mysql, oracle等常见数据库的分页实现方案

3. WINDOWS域的具体实现方式是什么

4. strlen的几种不同实现方法

5. 什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议

6. EJB需直接实现它的业务接口或Home接口吗,请简述理由

7. 在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排

8. 用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作

9. Oracle面试(DBA For oracle数据库技术)

10. How to detect and cleanup pending transactions in Oracle

本文来源:https://www.mianshiwenti.com/a13439.html

点击展开全部

《Oracle左连接和右连接实现方式》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝Oracle左连接和右连接实现方式﹞相关内容

「Oracle左连接和右连接实现方式」相关专题

其它栏目

也许您还喜欢