我们假设两张表
表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表中的数据