(我对SQL有点新)我有很多我正在重写的查询,这些查询有where
这样的句子:
where some_number > A
and some_number <= B
我想使用单个where
子句(更少的行,它不是更快/更慢吗?),如下所示:
where some_number between A and B
问题是第一个子句在A上是独占的,包含在B上。有没有什么方法可以像第二个查询一样在单行上指定“包含性”?感谢。
答案 0 :(得分:3)
有几点......
首先,如果你使用更少的线,它只是“更少的线”。我会这样格式化:
where some_number > A and some_number <= B
因为它实际上是一个范围条件,并且范围的每一端都是单独编码的。
其次,它实际上没有比版本之间更快或更慢,因为在封面between A and B
下转换为:
where (some_number >= A) and (some_number <= B)
因此表现相同。
基本上,不要担心。
答案 1 :(得分:0)
你可以通过“+1”
来抵消你的a或者只是使用您的第一种语法,它更容易阅读。