以下查询有什么区别:
SELECT * FROM employee WHERE NOT(start_date > '01-JAN-1970');
和这个查询:
SELECT * FROM employee WHERE start_date < '01-JAN-1970';
有什么区别吗,如果有,如何
NOT(x > y)
用法与 (x < y)
不同.谁能提供一个例子?谢谢。
最佳答案
在 MySQL
和 PostgreSQL
SELECT * FROM employee WHERE not(start_date > '01-JAN-1970')
不会使用
INDEX
在 start_date
如果有的话,他们的优化器不够聪明。否则,如果您在其中一种情况(
not(start_date >= '01-JAN-1970')
或 start_date <= '01-JAN-1970'
)中更正条件不严格,则查询是相等的。
关于sql - SQL 查询中 NOT(x > y) 和 (x < y) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/564920/