Oracle中EXISTS和NOT EXISTS的使用

我们假设两张表

表user 
ID NAME 1    张三 2    李四 3    王五
表course 
ID  NAME COURSE1     张三       数学     2     李四       英语3     李四       语文

1、EXISTS的使用

SELECT *
FROM USER  A
WHERE EXISTS (
SELECT *
FROM COURSE B
WHERE A.NAME = B.NAME)

结果为:

ID  NAME  1    张三  2    李四

EXISTS的使用意义就是:在A表的NAME中查询与B表NAME字段相同的A表中的数据

B表NAME有 张三、李四,就去A表NAME中找到张三和李四

类似用法:IN(链接👇)

 https://www.cnblogs.com/MoonASixpence/p/14078095.html

2、NOT EXISTS的使用

SELECT *
FROM USER  A
WHERE NOT EXISTS (
SELECT *
FROM COURSE  B
WHERE A.NAME= B.NAME)

结果为:

ID NAME  3    王五

NOT EXISTS的使用意义就是:在A表的ID中查询与B表AID字段不同的A表中的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值