下面是一个使用IN和NOT IN子查询的示例代码:
假设我们有两个表,一个是学生表(students),包含学生的ID和姓名;另一个是选课表(courses),包含学生的ID和所选课程的名称。
现在我们想要找出选择了特定课程的学生和没有选择该课程的学生。
学生表(students):
ID | Name |
---|---|
1 | Alice |
2 | Bob |
3 | Charlie |
4 | David |
选课表(courses):
ID | Course |
---|---|
1 | Math |
2 | Science |
3 | English |
4 | History |
我们想要找出选择了Math课程的学生和没有选择Math课程的学生。
以下是使用IN和NOT IN子查询的代码示例:
-- 选择了Math课程的学生
SELECT Name
FROM students
WHERE ID IN (SELECT ID FROM courses WHERE Course = 'Math');
-- 没有选择Math课程的学生
SELECT Name
FROM students
WHERE ID NOT IN (SELECT ID FROM courses WHERE Course = 'Math');
上述代码中,第一个查询找出了选择了Math课程的学生,使用了IN子查询来判断学生的ID是否在选择了Math课程的学生ID列表中。
第二个查询找出了没有选择Math课程的学生,使用了NOT IN子查询来判断学生的ID是否不在选择了Math课程的学生ID列表中。
通过使用IN和NOT IN子查询,我们可以根据特定条件找出不一致的结果。
上一篇:不一致的IIS日志配置