BETWEEN operator
Operator BETWEEN ... and selects a range of data between two values. This
Some values can be numeric, text, or date.
SQL BETWEEN Syntax
SELECT <column_name> from <table_name>
WHERE (<column_name> BETWEEN value1 and value2
MySQL tutorial
mysql> CREATE TABLE Employee (
-> id int,
-> first_name VARCHAR,
-> last_name VARCHAR,
-> start_date Date,
-> end_date date,
-> salary FLOAT (8,2),
-> city VARCHAR (a),
-> description VARCHAR (a)
->);
Query OK, 0 rows affected (0.05 sec)
Mysql>
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> values (1, ' Jason ', ' Martin ',
' 19960725 ', ' 20060725 ', 1234.56, ' Toronto ',
' Programmer ');
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> values (2, ' Alison ', ' Mathews ',
' 19760321 ', ' 19860221 ', 6661.78, ' Vancouver ', ' Tester ';
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> values (3, ' James ', ' Smith ',
' 19781212 ', ' 19900315 ', 6544.78, ' Vancouver ', ' Tester ';
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> VALUES (4, ' Celia ', ' Rice ',
' 19821024 ', ' 19990421 ', 2344.78, ' Vancouver ', ' Manager ';
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> values (5, ' Robert ', ' black ',
' 19840115 ', ' 19980808 ', 2334.78,
' Www.111cn.net ', ' Tester ');
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> VALUES (6, ' Linda ', ' Green ',
' 19870730 ', ' 19960104 ', 4322.78, ' New York ', ' Tester ';
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> VALUES (7, ' David ', ' Larry ',
' 19901231 ', ' 19980212 ', 7897.78, ' New York ', ' Manager ';
Query OK, 1 row Affected (0.00 sec)
Mysql>
mysql> INSERT INTO Employee (Id,first_name, last_name,
Start_date, End_date, salary, city, Description)
-> VALUES (8, ' James ', ' Cat ',
' 19960917 ', ' 20020415 ', 1232.78, ' Vancouver ', ' Tester ';
Query OK, 1 row Affected (0.00 sec)
Mysql>
Mysql> select * from Employee;
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
| ID | first_name | last_name | start_date | End_date
| Salary | City | Description |
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
| 1 | Jason | Martin | 1996-07-25 | 2006-07-25
| 1234.56 | Toronto | Programmer |
| 2 | Alison | Mathews | 1976-03-21 | 1986-02-21
| 6661.78 | Vancouver | Tester |
| 3 | James | Smith | 1978-12-12 | 1990-03-15
| 6544.78 | Vancouver | Tester |
| 4 | Celia | Rice | 1982-10-24 | 1999-04-21
| 2344.78 | Vancouver | Manager |
| 5 | Robert | Black | 1984-01-15 | 1998-08-08
| 2334.78 | Vancouver | Tester |
| 6 | Linda | Green | 1987-07-30 | 1996-01-04
| 4322.78 | New York | Tester |
| 7 | David | Larry | 1990-12-31 | 1998-02-12
| 7897.78 | New York | Manager |
| 8 | James | Cat | 1996-09-17 | 2002-04-15
| 1232.78 | Vancouver | Tester |
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
8 rows in Set (0.00 sec)
Mysql>
Mysql>
Mysql>
Mysql> SELECT * FROM employee
-> WHERE (employee.salary BETWEEN 1000 and 2000);
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
| ID | first_name | last_name | start_date | End_date
| Salary | City | Description |
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
| 1 | Jason | Martin | 1996-07-25 | 2006-07-25
| 1234.56 | Toronto | Programmer |
| 8 | James | Cat | 1996-09-17 | 2002-04-15
| 1232.78 | Vancouver | Tester |
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
2 rows in Set (0.02 sec)
Records in the middle of two strings
Mysql> SELECT * FROM employee
-> WHERE (employee.first_name BETWEEN ' Elvis ' and
' Michael ');
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
| ID | first_name | last_name | start_date | End_date
| Salary | City | Description |
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
| 1 | Jason | Martin | 1996-07-25 | 2006-07-25
| 1234.56 | Toronto | Programmer |
| 3 | James | Smith | 1978-12-12 | 1990-03-15
| 6544.78 | Vancouver | Tester |
| 6 | Linda | Green | 1987-07-30 | 1996-01-04
| 4322.78 | New York | Tester |
| 8 | James | Cat | 1996-09-17 | 2002-04-15
| 1232.78 | Vancouver | Tester |
+------+------------+-----------+------------+-----------
-+---------+-----------+-------------+
If you want to judge that you are not using not between x and Y, see a Jane
A single query statement
Mysql> SELECT Name, Instock, Onorder, Reserved
-> from Topic
-> WHERE (instock+onorder-reserved) not BETWEEN
20
-> ORDER by Name;
Important: Different database tutorials on BETWEEN ... The and operator is handled in a way that
There is a difference. Some databases list between "Adams" and "Carter."
People, but not "Adams" and "Carter"; some databases list between
"Adams" and "Carter" between and include "Adams" and "Carter" people;
Other databases list people between "Adams" and "Carter," and the package
Includes "Adams", but not "Carter"