The*_*kit 5 sql-standard operator
你能解释一下这两个运算符之间的区别吗?
sID != smth 而不是 sID = smth。
乍一看,它们似乎完全相同。但它们给出了不同的结果。
ype*_*eᵀᴹ 10
NOT sid = ANY (SELECT ...)
Run Code Online (Sandbox Code Playgroud)
相当于:
sid <> ALL (SELECT ...)
Run Code Online (Sandbox Code Playgroud)
所以,你的两个条件不一样。
ALL
和ANY
操作符对我(和很多人)来说很难使用。我认为这是有多少喜欢使用IN
,NOT IN
,EXISTS
和NOT EXISTS
这导致更多的不言自明的代码。
如果您确实想使用它们,请认为这sid = ANY (SELECT ...)
意味着“检查是否sid
等于任何(某些)(select...)
值”。
然后NOT sid = ANY (SELECT ...)
是相反的。但是“等于其中任何一个”的反义词是“与所有这些不同”(而不是“与其中一些不同”)。
归档时间: |
|
查看次数: |
7837 次 |
最近记录: |