SQL中的Between用法介绍
引言
在SQL中,BETWEEN
是一个常用的条件表达式,用于筛选某一列的取值范围。本文将详细介绍BETWEEN
的用法,包括语法、示例代码和运行结果。
1. 语法
在SQL中,BETWEEN
用于检索某一列的取值范围。它的基本语法如下:
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
column_name
:待筛选的列名。table_name
:待查询的表名。value1
和value2
:筛选的取值范围,包括边界值。
2. 示例代码和运行结果
下面通过几个示例代码来演示BETWEEN
的用法,每个示例包括SQL语句和运行结果。
2.1. 示例一
假设有一个名为employees
的表,其中有一个salary
列记录员工的薪水。我们现在想筛选薪水在5000到10000之间的员工。下面是相应的SQL语句:
SELECT *
FROM employees
WHERE salary BETWEEN 5000 AND 10000;
运行结果:
+------+----------+--------+
| id | name | salary |
+------+----------+--------+
| 1 | Alice | 6000 |
| 2 | Bob | 8000 |
| 3 | Charlie | 9000 |
+------+----------+--------+
2.2. 示例二
在某些情况下,我们可能只想检索某个范围内的值,而不包括边界值。例如,我们想筛选薪水在5000和10000之间(不包括5000和10000)的员工。下面是相应的SQL语句:
SELECT *
FROM employees
WHERE salary > 5000 AND salary < 10000;
运行结果:
+------+----------+--------+
| id | name | salary |
+------+----------+--------+
| 2 | Bob | 8000 |
| 3 | Charlie | 9000 |
+------+----------+--------+
2.3 示例三
BETWEEN
也可以用于日期范围的筛选。假设有一个名为orders
的表,其中有一个order_date
列记录订单日期。我们现在想筛选2019年1月1日至3月31日之间的订单。下面是相应的SQL语句:
SELECT *
FROM orders
WHERE order_date BETWEEN '2019-01-01' AND '2019-03-31';
运行结果:
+-------+------------+--------------+
| order | order_date | customer_id |
+-------+------------+--------------+
| 1 | 2019-01-05 | 001 |
| 2 | 2019-02-10 | 002 |
| 3 | 2019-03-15 | 003 |
+-------+------------+--------------+
2.4 示例四
在某些情况下,我们可能需要筛选出不在某个范围内的取值。例如,我们想筛选薪水不在5000到10000之间的员工。下面是相应的SQL语句:
SELECT *
FROM employees
WHERE salary NOT BETWEEN 5000 AND 10000;
运行结果:
+------+----------+--------+
| id | name | salary |
+------+----------+--------+
| 4 | David | 4000 |
| 5 | Emma | 12000 |
+------+----------+--------+
3. 总结
本文详细介绍了SQL中的BETWEEN
用法,讲解了其基本语法以及多个示例代码和运行结果。通过学习BETWEEN
的用法,我们能够更灵活地进行数据筛选,提高SQL查询的效率。