Oracle半联接

本文概述

  • Oracle半连接示例
  • 反连接和半连接之间的区别
半联接在Oracle 8.0中引入。它提供了执行WHERE EXISTS子查询的有效方法。
半联接返回第一个表中每行的至少一个匹配项的一个副本。
半连接是使用EXISTS构造编写的。
Oracle半连接示例 让我们拿两个表” 部门” 和” 客户”
【Oracle半联接】部门表
CREATE TABLE"DEPARTMENTS" ( "DEPARTMENT_ID" NUMBER(10, 0) NOT NULL ENABLE, "DEPARTMENT_NAME" VARCHAR2(50) NOT NULL ENABLE, CONSTRAINT "DEPARTMENTS_PK" PRIMARY KEY ("DEPARTMENT_ID") ENABLE ) /

Oracle半联接

文章图片
客户表
CREATE TABLE"CUSTOMER" ( "CUSTOMER_ID" NUMBER, "FIRST_NAME" VARCHAR2(4000), "LAST_NAME" VARCHAR2(4000), "DEPARTMENT_ID" NUMBER ) /

Oracle半联接

文章图片
执行此查询
SELECTdepartments.department_id, departments.department_name FROMdepartments WHEREEXISTS ( SELECT 1 FROMcustomer WHERE customer.department_id = departments.department_id ) ORDER BY departments.department_id;

输出
Oracle半联接

文章图片
反连接和半连接之间的区别 半联接返回找到至少一个匹配项的第一张表中每行的一个副本, 而反联接返回找到没有匹配项的第一张表中每行的一个副本。

    推荐阅读