我想仔细检查一下:
如果您使用的WHERE子句带有NOT IN条件,并且只有一个条件,那么是否必须将该条件保留在括号中?
因此,在下面的条款中,如果删除Y和Z,X是否必须保留在括号中(参见下面的第二个WHERE NOT IN CLAUSE
(。
WHERE LastEditedBy NOT IN ('X','Y','Z')
WHERE LastEditedBy NOT IN ('X')
文档中的语法图根据需要显示括号,但没有括号也能工作:
select * from dual where dummy not in 'Y';
DUMMY
-----
X
和
select * from dual where dummy in 'X';
DUMMY
-----
X
两者都返回数据。
db<gt;小提琴
无论如何,包含括号并不会让你付出任何代价,让你与官方语法保持一致(正如@jarlh所指出的,依赖未记录的行为是不明智的(,对于其他查看你的代码的人来说,可能不会那么令人困惑,并且如果你以后需要向列表中添加更多值,将来的维护会稍微容易一些。