`

Oracle中的外连接简单介绍

阅读更多
在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。

select * from a, b where a.id = b.id;

     对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。

1. LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name 
FROM employees e 
LEFT OUTER JOIN departments d 
ON (e.department_id = d.department_id);
 
等价于

SELECT e.last_name, e.department_id, d.department_name 
FROM employees e, departments d 
WHERE e.department_id=d.department_id(+);
 

结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

2. RIGHT OUTER JOIN:右外关联

SELECT e.last_name, e.department_id, d.department_name 
FROM employees e 
RIGHT OUTER JOIN departments d 
ON (e.department_id = d.department_id);
 
等价于

SELECT e.last_name, e.department_id, d.department_name 
FROM employees e, departments d 
WHERE e.department_id(+)=d.department_id;
 
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

3. FULL OUTER JOIN:全外关联

SELECT e.last_name, e.department_id, d.department_name 
FROM employees e 
FULL OUTER JOIN departments d 
ON (e.department_id = d.department_id);
 
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

你的SID应该是你的数据库所在的SID呀,你可以用sqlplus登陆到服务器
$sqlplus / as sysdba
SQL> select * from v$instance;
看一下你的机器正在跑的SID的名字是什么

分享到:
评论

相关推荐

    Oracle数据库左外连接

    Oracle连接有多中,我是在平常开发项目过程中用到的Oracle左连接进行了简单的阐述。

    易语言oracle数据库连接模块源码

    易语言是一种专为中国人设计的编程语言,...无论是简单的数据查询,还是复杂的业务逻辑处理,都能借助易语言和Oracle数据库连接模块实现。对于初学者,理解这些基本原理并结合实践,将有助于他们更好地掌握数据库编程。

    Java使用Jdbc连接Oracle执行简单查询操作示例

    Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...

    oracle多表连接技巧

    本文将详细介绍Oracle中多表连接的各种类型及其应用场景。 #### 二、基本概念 在开始讲解之前,我们先来了解一下几个重要的概念: 1. **笛卡尔积**:当两个表进行连接时,如果没有指定任何连接条件,那么将会产生...

    C#中连接oracle连接方法

    本篇将详细介绍C#中连接Oracle数据库的方法,包括所需的组件、连接字符串的构建以及使用ADO.NET进行数据操作的基本步骤。 首先,你需要在你的项目中引入Oracle客户端库。Oracle提供了一个名为ODP.NET(Oracle Data ...

    oracle ManagedDataAccess连接实例

    在WindowsFormsApplication1项目中,你可以创建一个简单的用户界面,允许用户输入连接参数,并显示查询结果。这通常涉及到按钮事件处理程序,用于执行连接和查询操作,以及将结果显示在诸如DataGridView之类的控件中...

    基于C#连接Oracle数据库Oracle.ManagedDataAccess

    总的来说,Oracle.ManagedDataAccess为C#开发者提供了一个轻量级且高效的连接Oracle数据库的方式,使得在没有安装完整Oracle客户端的环境中也能顺利进行数据库操作。通过掌握这个库的使用,你可以更便捷地构建和维护...

    关于Oracle多表连接,提高效率,性能优化操作

    这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...

    PB如何连接Oracle数据库

    本文将指导您如何使用 PowerBuilder 连接 Oracle 数据库,从最基本的 ODBC 配置到 DB Profile 配置和 PB 专用接口配置,整个过程简单易懂,适合初学者和高手。 ODBC 配置 在 Windows 操作系统上,ODBC 数据源的...

    java连接oracle数据库最简单例子

    在Java编程中,连接Oracle数据库是一项基础而重要的任务。这个"java连接oracle数据库最简单例子"提供了详尽的步骤和代码示例,非常适合初学者学习。以下是对这个主题的详细解释: 首先,Java通过JDBC(Java ...

    jdbc连接oracle简单示例

    本示例将详细解释如何在Eclipse集成开发环境中,通过JDBC连接到Oracle数据库。 首先,我们需要了解JDBC的基本概念。JDBC是一个Java API,它提供了一组接口和类,使得Java程序可以与各种数据库进行交互。它允许...

    navicat连接oracle插件

    5. 安装完成后,启动Navicat并新建Oracle连接,输入数据库的SID或服务名、用户名、密码等信息,Navicat就可以通过Oracle Instant Client与数据库建立连接。 使用Navicat连接Oracle数据库的优点包括: 1. 界面友好...

    oracle数据库连接工具

    在给定的标签中提到了"oracle navicat",这指的是Navicat,一个知名的数据库管理工具,特别适合于Oracle数据库的连接和管理。 Navicat 是一款强大的数据库管理工具,它支持多种数据库系统,包括Oracle、MySQL、SQL ...

    Oracle 客户端JDBC连接测试工具

    Oracle客户端JDBC连接测试工具是一种实用程序,它允许开发者和系统管理员通过Java Database Connectivity (JDBC)接口测试与Oracle数据库的连接。这个工具通常包含在Oracle客户端安装中,或者可以作为一个独立的JAR...

    Python连接oracle工具cx_Oracle官方文档

    在cx_Oracle版本6中,为对象类型提供了更多的支持,并且介绍了对象类型相关的对象、高级队列选项以及消息属性等。 对于希望了解cx_Oracle版本历史的用户,官方文档也提供了详细的发布说明。例如,cx_Oracle 6.0版本...

    C#连接oracle数据库执行简单的增删改查操作.docx

    C#连接Oracle数据库执行简单的增删改查操作 C#连接Oracle数据库执行简单的增删改查操作是指使用C#语言连接Oracle数据库,并执行基本的数据操作,如增删改查。下面是对该操作的详细解释: 一、连接Oracle数据库 要...

    C#中oracle连接数据库的封装类

    在本场景中,我们关注的是一个名为"C#中oracle连接数据库的封装类"的主题,这个主题涉及到创建一个名为`DbHelperOra.cs`的类,用于简化与Oracle数据库的交互。这种封装可以提高代码的可读性和复用性,减少直接处理...

    unity连接oracle数据库

    unity连接oracle的简单方式,需要注意的是unity版本需要2017以上版本,并且在playersetting里面设置脚本版本为4.6,文件里包含需要的dll文件以及测试类

    delphioracle_oracle_delphi_连接ORACLE_

    这些组件和库为开发者提供了丰富的API和图形化界面,使得在Delphi中编写Oracle连接代码变得简单。 描述中的“Delphi连接Oracle数据库的通用登录模块”暗示我们将讨论如何创建一个可以复用的登录组件或类,用于在...

    C#连接oracle数据库实例

    在这个例子中,我们首先创建了一个`OracleConnection`对象,然后使用`Open()`方法建立连接。接着,我们创建`OracleCommand`对象来执行SQL查询或更新。`ExecuteReader()`用于执行查询,返回一个`OracleDataReader`,...

Global site tag (gtag.js) - Google Analytics