SQL WHERE条件不等于?
|
是否可以否定where子句?
例如
DELETE * FROM table WHERE id != 2;
没有找到相关结果
已邀请:
10 个回复
摊揉售
要么
正如@Frank Schmitt指出的那样,您可能还需要注意NULL值。如果要删除所有非ѭ3的内容(包括NULL),请在WHERE子句中添加ѭ4。
郡豪靠暖
(或其变体,不是id = 2等)将不会删除id为NULL的行。 如果您还想删除id = NULL的行:
傻寺俊擒
编辑:更正MySQL的语法
青董据零
蹦吃舷弦
丧泉缝锋
可以通过以下两种方式取反: 明显的方法:
上面的内容也可以重述,您只需要记住逻辑表达式的一些属性即可:
等于
。
等于
。
等于(A)。 将NOT(!)分布到它所应用的整个表达式中,取反 运算符,并消除双重负面影响:
因此,通常,可以根据上述规则否定任何where子句。这个否定
是
要么
哪个更好?这是一个非常上下文相关的问题。只有您可以决定。 但是请注意,使用NOT可能会影响优化器的工作范围。您可能会得到一个不太理想的查询计划。
贡炮逗握惫
应该可以正常工作...那是您的追求吗?
闯舱酮
bab
瞧叮