SQL为什么使用 'between'而不是 '>= and <='

标签 sql sql-server oracle sap-ase

我想了解使用“where num Between 2 and 4”和“where num >= 2 and num <= 4”的差异,因为它适用于 Oracle、Sybase-ASE 和 MSSQL。

从纯粹的视觉角度来看,“之间”对我来说看起来更好。 然而,我更担心性能和任何其他技术问题。 (例如执行计划是否有可能不同)

“Between”是一个纯粹的装饰性关键字吗?以避免出现“和”,或者它是否提供了更多内容?

最佳答案

有时使用 BETWEEN 可以避免多次评估一个操作:

SELECT  AVG(RAND(20091225) BETWEEN 0.2 AND 0.4)
FROM    t_source;

---
0.1998

SELECT  AVG(RAND(20091225) >= 0.2 AND RAND(20091225) <= 0.4)
FROM    t_source;

---
0.3199

在第一个查询中 RAND() 仅调用一次,但在第二个查询中 RAND 被调用两次,这里 BETWEEN 可以帮助您对 RAND 的第二个函数调用。

SQL 查询的可读性也值得一提,查询可能会变得海量,像 BETWEEN 这样的函数有助于改善这一点。

关于SQL为什么使用 'between'而不是 '>= and <=',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118521/

相关文章:

javascript - 如何将 SQL Server 中的数据绑定(bind)到 HTML 页面?

sql-server - 如何将 SQL Server Express 实例从 2012 升级到 2014

JavaPreparedStatement设置NULL参数

oracle - 如何根据解释计划输出创建优化器提示?

sql - 在存储过程中使用 CASE 语句

sql - 如何在 T-SQL 中更改 SQL Server 列名称?

c# - CommandText 中的文本长度是否有任何限制

oracle - OWA_UTIL.ident_arr 的类似 NULL 的默认值是什么?

mysql - 如何获得表的总和并减去其他表的值?

MYSQL限制按类别返回数据