`
jiujiubuzui
  • 浏览: 73351 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle中的外连接

 
阅读更多

 关联的两张表,当数据少的那张要在数据多的那张表字段里,显示为NULL时,就需要使用外连接。

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

  点击下载:理解oracle中的外连接.doc

  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的员工记录和没有任何员工的部门记录。

分享到:
评论

相关推荐

    理解oracle中的外连接

    在Oracle数据库系统中,外连接(Outer Join)是一种高级的SQL联接操作,它扩展了标准的内连接(Inner Join)概念,允许我们查询不匹配的数据。外连接分为三种类型:左外连接(Left Outer Join)、右外连接(Right ...

    sap 与 oracle数据库的连接

    SAP系统与Oracle数据库的连接是SAP开发中的一个重要步骤,该连接允许SAP系统访问Oracle数据库中的数据,实现数据交换和共享。在本文中,我们将详细介绍SAP开发中模块连接Oracle数据库的具体方法步骤。 首先,需要...

    oracle 左连接 右连接学习

    左连接是一种外连接,它返回左表中的所有记录,并将右表中的记录匹配到左表中。如果右表中没有匹配的记录,将以 null 值代替。例如: SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name ...

    oracle客户端连接远程服务器

    标题中提到的“Oracle客户端连接远程服务器”,是指使用Oracle数据库客户端软件来建立与远程Oracle数据库服务器的连接。Oracle数据库是一种广泛使用的商业数据库系统,它支持多用户并发访问并保证数据的一致性,适用...

    Oracle Spatial与ArcGIS连接

    本文旨在探讨ArcGIS与Oracle Spatial之间的直接连接方法,并讨论在此过程中遇到的问题及其解决方案。 #### 二、ArcGIS与Oracle Spatial直接连接概述 **2.1 直接连接的意义** 直接连接(Direct Connect)是指ArcGIS...

    强制释放Oracle数据连接方案

    ### 强制释放Oracle数据连接方案 在日常的数据库管理工作中,我们经常遇到数据库连接超限的情况,这通常是由于大量的数据库连接未被正确关闭或回收所导致的。本文将详细介绍如何查看并调整Oracle数据库的连接数量...

    ORACLE 数据库如何连接,连接方式

    Oracle 数据库连接是数据库管理中的基础操作,对于任何需要与Oracle数据库进行交互的应用程序或管理员来说,理解如何正确连接至关重要。以下将详细讲解Oracle数据库的连接方式和配置过程。 首先,Oracle数据库连接...

    Oracle-新建Oracle数据库并连接(图文,详细).docx

    在这篇教程中,我们将学习如何新建Oracle数据库并连接到该数据库。该教程分为两部分:新建Oracle数据库和连接到数据库。 新建Oracle数据库 新建Oracle数据库需要使用Database Configuration Assistant工具,该工具...

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

    在易语言中,开发Oracle数据库连接模块是为了实现对Oracle数据库的高效、便捷操作。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,适用于处理大量数据和并发事务。 Oracle数据库连接模块的核心在于如何...

    oracle客户端配置连接oracle客户端配置连接

    oracle客户端配置连接oracle客户端配置连接oracle客户端配置连接

    DataGrip连接Oracle的Driver连接.7z

    总之,"DataGrip连接Oracle的Driver连接.7z"压缩包是用于帮助开发者在DataGrip环境中顺利连接到Oracle数据库的必要资源。正确配置和使用这些资源将使数据库管理和开发变得更加高效和顺畅。在实际工作中,确保熟悉并...

    SqlDbx连接oracle

    首先,连接Oracle数据库通常需要Oracle客户端软件,但这里提到的“Sqldbx连接oracle,不用安装client”,意味着SqlDbx可能通过一种无需完整Oracle客户端的方式来实现连接。这种连接方式通常依赖于Oracle的Instant ...

    易语言连接Oracle数据库

    在"oracle连接.e"这个文件中,很可能是包含了一个使用易语言编写的示例程序,演示了如何配置和使用上述组件来实现数据库的连接和数据操作。通过学习和理解这个示例,开发者可以快速掌握易语言与Oracle数据库的交互...

    力控与Oracle数据库的连接.pdf

    总的来说,力控与Oracle数据库的连接涉及ODBC驱动的选择、Oracle数据库的配置、用户权限管理以及在力控中的SQL操作。正确配置这些环节,可以实现力控与Oracle之间的高效数据交互。在实际操作中,应注意数据类型的...

    Oracle数据库左外连接

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

    oracle连接需要的驱动

    标题提到的"oracle连接需要的驱动"指的是Oracle JDBC驱动,它允许Java应用程序通过JDBC(Java Database Connectivity)接口与Oracle数据库进行通信。 Oracle JDBC驱动主要有四种类型: 1. ** Thin Driver (jdbc:...

    J2EE 中连接Oracle的驱动

    在J2EE应用程序开发中,连接Oracle数据库是一个关键步骤,这通常涉及到数据库驱动的使用。在给定的压缩包文件中,包含两个重要的驱动文件:`classes12.jar`和`ojdbc14.jar`,它们是Java应用程序与Oracle数据库进行...

    C#中连接oracle连接方法

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

Global site tag (gtag.js) - Google Analytics