sql in 和not in 的使用

img


这个b选项有什么问题吗?
111111111111111111111111111111111111111111111111111

B是对的,A是错的。
假如2个奖项,每年2给都有颁奖
那么A里的子查询,不会过滤任何年份。结果集错误
B里,先拿到医学奖的年份, 结果是全部年份, 排除全部,结果就是空。

IN 运算符 当要比较具有多个值的列时,使用IN运算符。
NOT IN运算符 允许从结果集中排除特定值的列表。

实例
2019年只有文学获奖
2020年医学和文学都获奖了
2021年只有医学获奖
第一个查询括号里面会把2020和2019都查出来,最后结果就有2020,和题目就冲突了
第二个查询括号里面查出2020和2021,not in排除后就只有2019,正解