鸣谢
【核心参考】在MySQL里,有个和in一样的东东叫做exists,但是它比in更牛叉,你会么?
【核心参考】萨师煊.王珊代码mysql版本(建库、建表、查询语句)
创建表及数据
【说明】(粗略)建表代码请移步,本"链接"。
集合运算简介
1.使用的背景
【说明】往往,问题的描述中包含“存在”、“不存在”这种关键词,∈ “集合运算”。 eg,选课表中没有选课的学生 ↔ 选课表中不存在的学生号
2. “In”、"exists"在集合运算中的作用。
语法及执行原理
1. "In"用法
【说明】"in"语法
# 查询,存在于选课信息的学生名字 ↔ 有选课的学生姓名
Select student.Sname
From student
WHERE student.Sno in (SELECT Sno From sc);
【说明】“Not in” 语法
# 查询,不存在于选课信息的学生名字
Select student.Sname
From student
#【注】"not in"会在右侧集合返回"Null"时无效,采