防联接用于使查询运行更快。这是Oracle提供的功能强大的SQL构造, 可用于更快的查询。
两个表之间的反联接返回第一个表中的行, 其中第二个表中没有匹配项。它与半联接相反。反联接返回第一个表中每行的一个副本, 找不到该副本。
反联接是使用NOT EXISTS或NOT IN构造编写的。
例子
【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
)
/
文章图片
客户表
CREATE TABLE"CUSTOMER"
( "CUSTOMER_ID" NUMBER, "FIRST_NAME" VARCHAR2(4000), "LAST_NAME" VARCHAR2(4000), "DEPARTMENT_ID" NUMBER
)
/
文章图片
执行此查询
SELECTdepartments.department_id, departments.department_name
FROMdepartments
WHERENOT EXISTS
(
SELECT 1
FROMcustomer
WHERE customer.department_id = departments.department_id
)
ORDER BY departments.department_id;
输出
文章图片
推荐阅读
- Oracle如何创建表()
- ORACLE between条件
- 触发器在插入/更新/删除之前触发
- ORACLE AND&OR条件
- Oracle AND条件
- Oracle ALTER TABLE语句
- 微信小程序与公众号有哪些不同?_微信
- qq空间红包怎样打赏一根黄瓜?
- 卡通公鸡版 鸡年祝福语动态表情包大全_微信