`

oracle 左边接 右连接 oracle加号

 
阅读更多
t1.name(+) = t2.name 的意思是
用t2表做主表 t1表做副表做右关联
会用t2的所有数据,如果和t1关联不上则放空值

转自http://blog.csdn.net/one132/archive/2009/07/06/4325233.aspx

关键字: 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 左连接(+)加号用法及常用语法之间的关系

    在左连接(LEFT JOIN)中,"+"加号的作用在于指示 Oracle 执行左连接操作,即使在右表中没有匹配的记录,也会返回左表的所有记录。而右连接(RIGHT JOIN)与此相反,即使在左表中没有匹配的记录,也会返回右表的所有...

    oracle客户端连接服务端配置:

    在IT领域,Oracle数据库作为企业级数据管理的重要工具,其客户端与服务端的连接配置是运维人员必须掌握的核心技能之一。本文将详细解析Oracle客户端连接服务端的配置流程,包括关键步骤、注意事项及实践操作,旨在...

    Oracle建立与PLM系统数据库连接

    ### Oracle建立与PLM系统数据库连接 #### 一、引言 随着企业信息化建设的不断深入,产品生命周期管理(Product Lifecycle Management, PLM)系统作为现代制造业的重要组成部分,其与企业内部其他信息系统(如ERP系统...

    Oracle中字符串连接的实现方法

    和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。 比如执行下面的SQL语句: 代码如下:SELECT ‘工号为’||FNumber||’的员工姓名为’||FName FROM T_...

    oracle 定时导出脚本

    - `date "+%Y-%m-%d[%H%M%S]"`:这一命令使用`+`加号和双引号`"`来定义输出格式。其中: - `%Y`代表四位数的年份; - `%m`代表月份; - `%d`代表日期; - `%H`代表小时; - `%M`代表分钟; - `%S`代表秒。 -...

    Oracle11g配置服务名

    ### Oracle11g配置服务名详解 在Oracle11g中配置服务名是一项重要的操作,它可以帮助用户更方便地管理和访问数据库。本文将详细介绍如何在Oracle11g中配置服务名,包括步骤详解、注意事项等内容。 #### 一、准备...

    Oracle 11g数据库客户端安装和ODBC配置.docx

    Oracle 11g数据库客户端安装和ODBC配置 Oracle 11g数据库客户端安装是指在客户端计算机上安装 ...* 需要具备 Oracle 数据库服务器的连接权限 * 需要具备相应的技术背景和知识储备 * 需要具备必要的硬件和软件环境

    oracle远程配置文档

    在企业环境中,经常需要配置Oracle远程服务连接,以便从不同位置访问数据库。以下是一个详细的Oracle远程服务配置教程,确保遵循这些步骤,你将能够成功建立并测试远程连接。 1. **启动Net Manager** Oracle ...

    oracle的net Manager配置.pdf

    Oracle Net Manager 是 Oracle 数据库管理系统中的一个重要组件,负责管理数据库的网络连接和会话。本文将详细介绍 Oracle Net Manager 的配置过程,并对其中的各个步骤进行详细解释。 一、启动 Net Manager 首先...

    解决dreamweaver cs4 asp.net、JSP无法添加数据库连接

    这个功能允许开发者直接在IDE内与各种类型的数据库进行交互,如MySQL、SQL Server、Oracle等。通过“连接管理器”面板,用户可以创建、编辑和管理数据库连接,方便地拖放数据源到页面上,实现数据的动态显示和操作。...

    Oracle数据源的创建

    接下来是配置Oracle服务的相关步骤,以便实现远程访问等功能。 1. **配置Oracle服务:** - **打开Oracle的配置和迁移工具中的NET MANAGER:** - 这个工具位于Oracle安装目录下的网络配置工具中。 - **添加服务...

    ORACLE817图形安装配置指南

    - 在服务设置中选择“通过SID连接服务器”,服务器SID为“ORA817”,Oracle8i连接类型为“缺省数据库”。 - 测试连接成功后,点击“完成”。 #### 三、数据库导入与导出 - **打开命令提示符**: 通过“开始”—>...

    oracle的net-Manager配置.doc

    Oracle的Net Manager是Oracle数据库管理工具之一,用于配置和管理Oracle网络环境,包括服务名、监听器、数据库连接等。在Oracle的网络架构中,Net Manager扮演着至关重要的角色,它使得客户端能够与服务器端的数据库...

    Oracle_SQL_Developer_使用指南

    Oracle SQL Developer 是Oracle公司推出的一款强大的数据库管理工具,主要用于帮助用户进行SQL查询、数据操作、数据库对象管理和数据迁移等任务。在Oracle 11.0版本中,SQL Developer提供了更加完善的特性和用户友好...

    SQLServer和Oracle的常用函数对比

    - SQLServer中可以简单地使用加号`+`进行连接。 - Oracle中使用`CONCAT()`函数或双竖线`||`进行连接。 24. **查找子串位置** - SQLServer中使用`CHARINDEX()`函数。 - Oracle中使用`INSTR()`函数。 通过以上...

    Oracle VM VirtualBox usb启动安装gho系统

    接下来,添加USB设备过滤器。点击“USB设备”部分的加号图标,选择你插入的USB驱动器。这将确保虚拟机能识别并访问该USB设备。 现在,我们进入“gho系统”的安装过程。gho文件通常是通过Ghost工具(如Norton Ghost...

    Oracle服务器和客户端配置[收集].pdf

    首先,Oracle服务器配置主要涉及到启动监听器服务,监听器是Oracle数据库系统中负责处理客户端连接请求的关键组件。在Windows环境下,监听器服务通常名为"OracleOraHome92TNSListener"。通过开始菜单,我们可以找到...

    数据库连接

    数据库连接是IT领域中基础且重要的操作,特别是对于Oracle数据库这样的大型企业级系统。Oracle 10是一款广泛使用的数据库管理系统,适用于存储、管理和检索大量数据。对于初学者来说,掌握如何连接到远程Oracle...

Global site tag (gtag.js) - Google Analytics