`
quningstudy
  • 浏览: 52860 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle数据库中表的四种连接方式讲解

阅读更多
 表的连接是指在一个SQL语句中通过表与表之间的关连,从一个或多个表中检索相关的数据,大体上表与表之间的连接主要可分四种,分别为相等连接,外连接,不等连接和自连接,本文将主要从以下几个典型的例子来分析Oracle表的四种不同连接方式:
  1.相等连接
  通过两个表具有相同意义的列,可以建立相等连接条件。
  只有连接列上在两个表中都出现且值相等的行才会出现在查询结果中。
  例查询员工信息以及对应的员工所在的部门信息;
  SELECT * FROM EMP,DEPT;
  SELECT * FROMEMP,DEPT
  WHERE EMP.DEPTNO = DEPT.DEPTNO;
  REM显示工资超过2000的员工信息以及对应的员工的部门名称。
  2.外连接
  对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTERJOIN,下面将配合实例一一介绍。除了显示匹配相等连接条件的信息之外,还显示无法匹配相等连接条件的某个表的信息。
  外连接采用(+)来识别。
  A)左条件(+) =右条件;
  代表除了显示匹配相等连接条件的信息之外,还显示右条件所在的表中无法匹配相等连接条件的信息。
  此时也称为"右外连接".另一种表示方法是:
  SELECT... FROM 表1 RIGHT OUTER JOIN 表2 ON 连接条件
  B) 左条件 =右条件(+);
  代表除了显示匹配相等连接条件的信息之外,还显示左条件所在的表中无法匹配相等连接条件的信息。
  此时也称为"左外连接".
  SELECT... FROM 表1 LEFT OUTER JOIN 表2 ON 连接条件
  例显示员工信息以及所对应的部门信息
  --无法显示没有部门的员工信息
  --无法显示没有员工的部门信息
  --SELECT *FROM EMP,DEPT WHERE EMP.DEPTNO =DEPT.DEPTNO;
  --直接做相等连接:
  SELECT * FROM EMP JOIN DEPT ONEMP.DEPTNO = DEPT.DEPTNO;
  REM显示员工信息以及所对应的部门信息,显示没有员工的部门信息
  --SELECT * FROM EMP,DEPT WHEREEMP.DEPTNO(+) = DEPT.DEPTNO;
  SELECT * FROM EMP RIGHT OUTER JOIN DEPT ONEMP.DEPTNO = DEPT.DEPTNO;
  REM显示员工信息以及所对应的部门信息,显示没有部门的员工信息
  --SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO= DEPT.DEPTNO(+);
  SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO =DEPT.DEPTNO;
  3.不等连接
  两个表中的相关的两列进行不等连接,比较符号一般为>,<,...,BETWEEN.. AND..
  REMSALGRADE
  --DESC SALGRADE;
  --SELECT * FROM SALGRADE;
  REM显示员工的编号,姓名,工资,以及工资所对应的级别。
  SELECT EMPNO,ENAME,SAL,SALGRADE.* FROMSALGRADE,EMP
  WHERE EMP.SAL BETWEEN LOSAL AND HISAL;
  REM显示雇员的编号,姓名,工资,工资级别,所在部门的名称;
  SELECT EMPNO,ENAME,SAL,GRADE,DNAME FROMEMP,DEPT,SALGRADE
  WHERE EMP.DEPTNO = DEPT.DEPTNO AND EMP.SAL BETWEEN LOSALAND HISAL;
  4.自连接
  自连接是数据库中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。下面介绍一下自连接的方法:
  将原表复制一份作为另一个表,两表做笛卡儿相等连接。
  例显示雇员的编号,名称,以及该雇员的经理名称
  SELECTWORKER.ENAME,WORKER.MGR,MANAGER.EMPNO,MANAGER.ENAME FROM EMP WORKER,EMPMANAGER
  WHERE WORKER.MGR = MANAGER.EMPNO;来源:考试大网来
分享到:
评论

相关推荐

    Oracle中表的四种连接方式讲解

    在Oracle数据库中,表的连接是SQL查询中的关键操作,用于合并来自多个表的数据。本文主要探讨了四种基本的连接方式:相等连接、外连接(包括左外连接和右外连接)、不等连接和自连接。 1. 相等连接: 相等连接是最...

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

    首先,Oracle数据库连接主要通过以下几种方式实现: 1. **SQL*Plus**:这是Oracle提供的一种命令行工具,可以直接在命令行界面输入SQL语句与数据库交互。要连接,你需要提供服务器的主机名(IP地址)、服务名(SID...

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

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

    初学SpringCloud连接Oracle数据库

    本篇文章将详细讲解如何在SpringCloud项目中配置Oracle数据库,并从数据库中获取数据。 首先,我们需要在项目中引入SpringBoot对Oracle数据库的支持。这可以通过在`pom.xml`文件中添加相应的依赖来实现。通常,你...

    Oracle数据库的启停

    关闭(SHUTDOWN)一个数据库有四种方式,分别是 SHUTDOWN NORMAL、SHUTDOWN IMMEDIATE、SHUTDOWN TRANSACTIONAL、SHUTDOWN ABORT。但是实际使用中最常用的是前两种。 1. SHUTDOWN NORMAL 执行 SHUTDOWN NORMAL ...

    labview 调用oracle数据库

    本篇将详细讲解如何利用LabVIEW调用Oracle数据库,包括ODBC连接、创建表、写入数据以及查询与更新操作。 首先,要实现LabVIEW与Oracle数据库的连接,我们需要借助ODBC(Open Database Connectivity)驱动程序。ODBC...

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

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

    c# 连接oracle数据库和对数据库的基本操作

    在C#中与Oracle数据库进行交互是常见的任务,尤其对于初学者来说,了解这个过程是必要的。本篇文章将深入探讨如何使用C#连接Oracle数据库以及执行基本的数据操作。由于描述中提到这适用于初学者,我们将从基础知识...

    gradle导入本地oracle包连接数据库

    这是Oracle提供的Java数据库连接(JDBC)驱动程序,用于在Java应用程序中与Oracle数据库进行通信。它包含了必要的类和接口,使得开发人员能够执行SQL语句、处理结果集等操作。在`gradle导入本地oracle包连接数据库`...

    VB.NET连接ORACLE数据库

    在VB.NET中与ORACLE数据库进行交互是常见的开发任务,特别是在企业级应用中。Oracle数据库以其稳定性和高性能而被广泛采用。在这个过程中,开发者通常会使用Oracle提供的数据访问组件,如Oracle.ManagedDataAccess,...

    标准c#连接oracle数据库系统代码

    本文讲解了如何使用C#语言连接Oracle数据库,实现Web页面上的数据写入和数据库连接等相关操作。下面将详细介绍相关知识点: 数据库分析 在实现C#连接Oracle数据库之前,首先需要搭建Oracle数据库。数据库结构图中...

    Metabase配置 Oracle 数据库

    在这里分别讲解一下在linux操作系统上基于docker安装的Metabase配置oracle数据库和Windows操作系统直接使用java -jar运行metabase配置oracle数据库。

    oracle数据库导入到SQL server.docx

    本文将详细讲解如何使用Microsoft SQL Server Migration Assistant for Oracle.exe(微软数据库迁移工具)将Oracle数据库迁移到SQL Server。该工具可以帮助用户快速、安全地将Oracle数据库迁移到SQL Server中。 一...

    vs2015编译qt5.10.1连接oracle数据库驱动qsqloci

    在本文中,我们将深入探讨如何使用Visual Studio 2015 (VS2015) 编译Qt 5.10.1,并连接到Oracle数据库驱动器QSqLocI。这个过程对于开发者来说至关重要,因为能够实现Qt应用程序与Oracle数据库的无缝交互,尤其在32位...

    Tomcat_6.0配置oracle数据库连接池

    本文将详细讲解如何在Tomcat 6.0中配置Oracle数据库连接池。 首先,我们要明白连接池的基本原理。数据库连接池管理数据库连接,避免每次需要连接时都创建新的连接,而是复用已存在的连接,这样可以显著减少数据库...

    linux shell 查询oracle数据库中的值 并返回

    这个特定的场景中,我们可能想要从Oracle数据库中检索特定的值,然后在命令行界面或者进一步处理中使用这些数据。下面将详细讲解如何实现这一功能。 首先,你需要确保你的Linux系统已经安装了Oracle的客户端工具,...

    JDBC实用技术(连接Oracle数据库).

    Oracle数据库是企业级广泛应用的关系型数据库管理系统,其强大的功能和稳定性使得它在大型系统中占据重要地位。 首先,我们需要了解JDBC的基本概念。JDBC是Java API,它提供了一组接口和类,允许Java程序通过标准的...

    Oracle数据库讲解与练习

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级数据存储和处理中扮演着重要角色。SQL(Structured Query Language)是用于管理和操作数据库的标准语言,与Oracle数据库结合使用,能够实现高效的...

    用java文件连接oracle数据库

    Oracle数据库是全球广泛使用的数据库管理系统,而Java作为一种跨平台的编程语言,提供了丰富的API来实现与各种数据库的交互。本主题将详细讲解如何使用Java文件连接Oracle数据库,以及涉及到的相关知识点。 首先,...

Global site tag (gtag.js) - Google Analytics