MySQL BETWEEN AND的用法(附带实例)
MySQL 中,BETWEEN AND 用来查询某个范围内的值,该操作符需要两个参数,即范围的开始值和结束值。如果字段值满足指定范围的查询条件,则这些记录被返回。
为了方便演示 BETWEEN AND 的用法,需要往数据表插入如下数据:
【实例 1】查询价格在 2.00 元到 10.20 元之间的水果名称及其价格,SQL 语句如下:
BETWEEN AND 操作符前可以加关键字 NOT,表示指定范围之外的值,如果字段值不满足指定范围内的查询条件,则这些记录被返回。
【实例 2】查询价格在 2.00 元到 10.20 元之外的水果名称及其价格,SQL 语句如下:
为了方便演示 BETWEEN AND 的用法,需要往数据表插入如下数据:
mysql> INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES('a1', 101,'apple',5.2), ('b1',101,'blackberry', 10.2), ('bs1',102,'orange', 11.2), ('bs2',105,'melon',8.2), ('t1',102,'banana', 10.3), ('t2',102,'grape', 5.3), ('o2',103,'coconut', 9.2), ('c0',101,'cherry', 3.2), ('a2',103, 'apricot',2.2), ('l2',104,'lemon', 6.4), ('b2',104,'berry', 7.6), ('m1',106,'mango', 15.7), ('m2',105,'xbabay', 2.6), ('t4',107,'xbababa', 3.6), ('m3',105,'xxtt', 11.6), ('b5',107,'xxxx', 3.6);
【实例 1】查询价格在 2.00 元到 10.20 元之间的水果名称及其价格,SQL 语句如下:
SELECT f_name, f_price FROM fruits WHERE f_price BETWEEN 2.00 AND 10.20;查询结果如下:
+-----------+---------+ | f_name | f_price | +-----------+---------+ | apple | 5.20 | | apricot | 2.20 | | blackberry| 10.20 | | berry | 7.60 | | xxxx | 3.60 | | melon | 8.20 | | cherry | 3.20 | | lemon | 6.40 | | xbabay | 2.60 | | coconut | 9.20 | | grape | 5.30 | +-----------+---------+可以看到,返回结果包含了价格从 2.00 元到 10.20 元之间的字段值,并且端点值 10.20 也包括在返回结果中,即 BETWEEN AND 匹配范围中的所有值,包括开始值和结束值。
BETWEEN AND 操作符前可以加关键字 NOT,表示指定范围之外的值,如果字段值不满足指定范围内的查询条件,则这些记录被返回。
【实例 2】查询价格在 2.00 元到 10.20 元之外的水果名称及其价格,SQL 语句如下:
SELECT f_name, f_price FROM fruits WHERE f_price NOT BETWEEN 2.00 AND 10.20;查询结果如下:
+-----------+---------+ | f_name | f_price | +-----------+---------+ | orange | 11.20 | | mango | 15.70 | | xxtt | 11.60 | | banana | 10.30 | +-----------+---------+由结果可以看到,返回的记录只有 f_price 字段值大于 10.20 的。其实,f_price 字段值小于 2.00 的记录也满足查询条件。因此,如果表中有 f_price 字段值小于 2.00 的记录,也应当作为查询结果。