`
kinkding
  • 浏览: 150617 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ORACLE关联

阅读更多

1、创建测试数据:

CREATE TABLE TBL_TEST1(F_ID NUMBER(10) PRIMARY KEY);
CREATE TABLE TBL_TEST2(D_ID NUMBER(10) PRIMARY KEY, F_ID NUMBER(10));

BEGIN
  FOR I IN 1 .. 3 LOOP
    INSERT INTO TBL_TEST1 VALUES (I);
    INSERT INTO TBL_TEST2 VALUES (I, I);
  END LOOP;
  FOR I IN 4 .. 5 LOOP
    INSERT INTO TBL_TEST1 VALUES (I);
  END LOOP;
  FOR I IN 4 .. 5 LOOP
    INSERT INTO TBL_TEST2 VALUES (I, 0);
  END LOOP;
  COMMIT;
END;
/

 

生成的数据如下:

SQL> SELECT * FROM TBL_TEST1;
 
       F_ID
-----------
          1
          2
          3
          4
          5
SQL> SELECT * FROM TBL_TEST2;
 
       D_ID        F_ID
----------- -----------
          1           1
          2           2
          3           3
          4           0
          5           0

 

2、内连接:

-- 内连接;
SELECT * FROM TBL_TEST1 T1, TBL_TEST2 T2 WHERE T1.F_ID = T2.F_ID;

 

得到的结果如下:

       F_ID        D_ID        F_ID
----------- ----------- -----------
          1           1           1
          2           2           2
          3           3           3

 

3、右外关联:

-- T1右外关联T2;
SELECT * FROM TBL_TEST1 T1, TBL_TEST2 T2 WHERE T1.F_ID(+) = T2.F_ID;
SELECT *
  FROM TBL_TEST1 T1
 RIGHT OUTER JOIN TBL_TEST2 T2 ON (T1.F_ID = T2.F_ID);

 

上面两个SQL是等价的,执行结果如下:

       F_ID        D_ID        F_ID
----------- ----------- -----------
          1           1           1
          2           2           2
          3           3           3
                      4           0
                      5           0

 

4、左外关联:

-- T1左外关联T2;
SELECT * FROM TBL_TEST1 T1, TBL_TEST2 T2 WHERE T1.F_ID = T2.F_ID(+);
SELECT *
  FROM TBL_TEST1 T1
  LEFT OUTER JOIN TBL_TEST2 T2 ON (T1.F_ID = T2.F_ID);

 

执行结果如下:

       F_ID        D_ID        F_ID
----------- ----------- -----------
          1           1           1
          2           2           2
          3           3           3
          5             
          4             

 

5、全外关联:

-- 全外关联;
SELECT *
  FROM TBL_TEST1 T1
  FULL OUTER JOIN TBL_TEST2 T2 ON (T1.F_ID = T2.F_ID);

 

执行结果如下:

      F_ID        D_ID        F_ID
---------- ----------- -----------
         1           1           1
         2           2           2
         3           3           3
         5             
         4             
                     4           0
                     5           0

 

 

分享到:
评论

相关推荐

    oracle两表关联更新Demo

    #### 一、Oracle关联更新概述 在Oracle数据库中,进行数据更新操作时,有时需要根据另一个表中的数据来更新当前表的数据,这就是所谓的“关联更新”。关联更新通常用于保持两个或多个表之间的一致性,确保数据的...

    ORACLE测试题1_关联查询_答案

    根据给定的文件信息,我们可以深入探讨Oracle数据库中关于关联查询的知识点,特别是与学生信息表(`tt_student`)和评估规则表(`tt_assess_rule`)相关的操作。 ### Oracle测试题中的关联查询 #### 数据表创建与...

    Oracle基础查询关联查询练习题.docx

    Oracle 基础查询关联查询练习题 Oracle 基础查询关联查询练习题中涉及到多种查询类型,包括基础查询、关联查询、分组查询等。下面我们将对每个练习题的知识点进行详细解释。 1. 基础查询 基础查询是指从数据库中...

    支持MYSQL和ORACLE数据库表

    在IT行业中,数据库是数据管理和存储的核心,而MySQL和Oracle是两种广泛应用的关系型数据库管理系统(RDBMS)。本文将深入探讨这两个数据库系统及其在实际应用中的相关知识点。 MySQL是一款开源、免费的SQL数据库,...

    Oracle数据库3种主要表连接方式对比

    ### Oracle数据库三种主要表连接方式对比 在Oracle数据库中,为了获取来自多个表的数据,我们需要使用不同的连接方式来实现这一目的。本文将详细介绍三种主要的表连接方式:嵌套循环连接(Nested Loop Join,简称NL...

    oracle详细表结构关系图

    oracle详细表结构关系图,实例,图解

    Oracle中多表关联批量插入批量更新与批量删除操作

    在Oracle数据库中,进行多表关联的批量插入、批量更新和批量删除操作是常见的数据库管理任务,尤其是在处理大量数据时,这些操作能显著提高效率并减少资源消耗。本文将详细探讨这三个方面,并通过实例代码来展示如何...

    ORACLE多表关联的update语句

    在Oracle数据库中,多表关联的UPDATE语句用于更新一个表中的数据,这些数据依赖于另一个或多个表的记录。这种操作在数据整合、错误修正或者数据同步时非常常见。以下我们将详细探讨如何使用不同方式执行多表关联的...

    ORACLE ebs 各模块核心表关联

    本资料“ORACLE ebs 各模块核心表关联”旨在帮助用户理解和掌握EBS系统中的数据结构和表间关系。 首先,我们来看财务管理模块,主要包括总账、应付账款、应收账款、固定资产管理等子模块。例如,总账模块的核心表有...

    ORACLE_多表关联_UPDATE_语句

    Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...

    skyline与oracle数据库坐标关联之oracle数据库操作说明

    Skyline与Oracle数据库坐标关联之Oracle数据库操作说明 数据库操作是指在Skyline与Oracle数据库坐标关联中执行的一系列操作,以确保坐标数据的正确性和一致性。在本文中,我们将详细介绍Skyline与Oracle数据库坐标...

    Oracle两张表关联批量更新其中一张表的数据

    本文将详细介绍两种方法,用于在Oracle中实现两张表关联批量更新其中一张表的数据。 方法一(推荐): 这种方法利用了子查询和`EXISTS`子句。首先,我们在`SET`子句中创建一个子查询,从表1中选取需要的值(B列)来...

    Oracle ebs AP基表和总账关联

    Oracle ebs AP基表和总账关联表结构Oracle ebs AP基表和总账关联表结构

    plsql关联64位oracle

    ### PL/SQL关联64位Oracle数据库连接指南 在IT领域中,数据库管理与开发工具的应用至关重要。PL/SQL Developer是一款强大的集成开发环境,专为提高PL/SQL的生产力而设计。本文将详细介绍如何通过PL/SQL Developer...

    oracle删除

    - `HKEY_CLASSES_ROOT` 下与Oracle关联的注册表项。 - `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\StartMenu\Programs` 下的Oracle菜单项。 务必小心操作,错误地修改...

    Oracle sql语句多表关联查询

    Oracle SQL 语句多表关联查询 Oracle SQL 语句多表关联查询是数据库管理系统中的一种常见查询方式,它可以从多个表中检索数据,满足业务需求。本文将详细介绍 Oracle SQL 语句多表关联查询的知识点,包括字符串和...

    手把手图解教你完全卸载Oracle10g.docx

    4. **删除Oracle关联键:** - `HKEY_CLASSES_ROOT` 目录下所有以 Ora、Oracle、Orcl 或 EnumOra 为前缀的键。 5. **删除Oracle程序快捷方式键:** - `HKEY_CURRENT_USER/Software/Microsoft/Windows/Current...

    oracle client关联库

    在标题"Oracle Client关联库"中,提到的是Oracle提供的用于连接数据库的客户端软件,它包含了一系列必要的动态链接库(DLLs)和其他支持文件,使得开发人员可以在应用程序中实现与Oracle数据库的交互。这个库对于...

    Oracle服务进程启动批处理文件

    直接运行批处理文件启动Oracle关联的服务进程,非常方便!

Global site tag (gtag.js) - Google Analytics