- IN 表达式
SELECT * FROM 表名 WHERE 字段名 IN (值1, 值2, 值3,...);
- NOT IN 表达式
SELECT * FROM 表名 WHERE 字段名 IN (值1, 值2, 值3,...);
示例
-- IN
SELECT * FROM Student WHERE name IN ('name1','name2','管理员');
-- NOT IN
SELECT * FROM Student WHERE name NOT IN ('name1','name2','管理员');
image.png
- 通过 IN / NOT IN 实现多表查询
需求:有 Student、Score 两张表,分别标识学生和分数,Score 从表的 StudentID 字段为外键,对应 Student 主表的 ID 字段,Student 表 ID 在 Score 表的 StudentID 中说明这个学生有成绩,不在其中的说明没有成绩,现在要查询所有有成绩的学生信息
-- 查询有分数的学生
SELECT * FROM Student WHERE ID IN (SELECT StudentID FROM Score);
image.png
- EXISTS
SELECT a.name,a.age FROM Student as a WHERE EXISTS (SELECT * FROM Score as b WHERE a.ID=b.StudentID);
image.png
网友评论