sql - SQL 查询中 NOT(x > y) 和 (x < y) 之间有什么区别?

标签 sql

以下查询有什么区别:

SELECT * FROM employee  WHERE NOT(start_date > '01-JAN-1970');

和这个查询:
SELECT * FROM employee  WHERE start_date < '01-JAN-1970';

有什么区别吗,如果有,如何NOT(x > y)用法与 (x < y) 不同.谁能提供一个例子?

谢谢。

最佳答案

MySQLPostgreSQL

SELECT * FROM employee WHERE not(start_date > '01-JAN-1970')

不会使用 INDEXstart_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/

相关文章:

MySQL 查询根据不同条件连接 4 个表

mysql - 当使用MySQL的GROUP BY时,对结果中放入什么数据有什么保证?

c++ - MySQL C API 为 NULL 值返回零而不是 NULL

sql - 如何在 html 中嵌入图像并通过 msdb.dbo.sp_send_dbmail 将 html 作为电子邮件发送?

php - 在 MySQL 中获取表列名?

java - Play Framework 在请求开始时执行原始 sql?

sql - 如何将 PostgreSQL 格式转换为 GeoJSON 格式?

c# - 防止每当用户单击刷新时添加新记录

sql - 如何扩展此SQL查询以找到k个最近的邻居?

Mysql 使用用户变量作为临时存储来交换具有唯一值的行的效率和安全性