1. BETWEEN的语法
BETWEEN子句是SQL语言中的一种比较操作符,使用该操作符可以判断某个值是否在一个范围之间,该范围由两个边界值定义。通过BETWEEN可以快速地确定值是否在指定的范围内,避免了使用多个AND
或OR
的麻烦。
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
1.1 BETWEEN包括两个边界值
根据《MySQL 8.0参考手册》中对BETWEEN的描述,包括两个边界值。也就是说,如果一个值正好等于BETWEEN操作符后面的两个边界中任何一个值,那么这个值就会被包括在范围内。
2. 测试BETWEEN的边界值
让我们新建一个测试表,表中包含id、name以及age三个字段。
CREATE TABLE test_table (
id INT,
name VARCHAR(20),
age INT
);
接着,我们向表中插入一些数据。
INSERT INTO test_table (id, name, age)
VALUES (1, 'Tom', 10),
(2, 'Jerry', 20),
(3, 'Mike', 30);
2.1 查询BETWEEN的边界值
现在,我们来查询一下BETWEEN的边界值,看看结果如何。
SELECT *
FROM test_table
WHERE age BETWEEN 10 AND 20;
运行上面这条查询语句,得到的结果如下:
id | name | age
------+--------+-----
1 | Tom | 10
2 | Jerry | 20
(2 rows)
可以看到,BETWEEN操作符确实包括边界值,即10和20都包括在结果中。
2.2 查询BETWEEN的非边界值
那如果我们查询非边界值会怎样呢?比如说,查询年龄在11到19之间的人。
SELECT *
FROM test_table
WHERE age BETWEEN 11 AND 19;
此时,得到的结果为空,也就是说BETWEEN操作符不包括非边界值。
3. 总结
从上面的测试结果可以看出,BETWEEN操作符确实包括边界值。如果我们需要包括非边界值,可以使用比较操作符>=
和<=
,或者使用类似IN
的操作符。
此外,BETWEEN操作符仅包括范围内的值,如果边界值出现在表中时,它不会重复出现。