首页 > 编程笔记 > MySQL笔记 阅读:27

MySQL BETWEEN AND的用法(附带实例)

MySQL 中,BETWEEN AND 用来查询某个范围内的值,该操作符需要两个参数,即范围的开始值和结束值。如果字段值满足指定范围的查询条件,则这些记录被返回。

为了方便演示 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 的记录,也应当作为查询结果。

相关文章