我已经学习 SQL 几个星期了,刚刚完成了关于使用 IN 和 NOT IN 的家庭作业问题。我设法得到了正确的答案,但是,我使用了 EXCEPT 子句,我们还没有真正允许使用它。据我所知,EXCEPT 和 NOT IN 是 SQL 中非常相似的语句,但我不明白有什么区别。这是我的查询的一般格式:
SELECT *
FROM table
WHERE x IN (
SELECT x
/* ... some subquery*/
EXCEPT
SELECT x
/* ... some other subquery*/
)
有没有办法在不使用 EXCEPT 语句的情况下重写这个通用查询?一般而言,EXCEPT 和 NOT IN 有何不同?
编辑:this other post似乎有一些很好的信息,但它似乎专注于EXISTS而不是IN,它们有不同的目的,不是吗?