[elementor-template id="20878"]
[elementor-template id="21795"]

SQL BETWEEN – A Comprehensive Guide Understanding the SQL BETWEEN Operator

Written by Jagdeesh | 2 min read

This post focuses on an extremely handy operator, SQL BETWEEN, which is often overlooked yet can immensely optimize your querying process.

What is SQL BETWEEN?

The SQL BETWEEN operator is used in a WHERE clause to select a range of data between two values. This operation is inclusive, meaning the end values are part of the results.

If you need to filter out records from your dataset that lie within a certain range, SQL BETWEEN is your go-to tool.

SQL BETWEEN: The Syntax

Here’s a look at the basic syntax of the BETWEEN operator

sql
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

The above SQL query will return all records from the table table_name where the column_name value falls between value1 and value2 (inclusive).

1) SQL BETWEEN in Action

Let’s consider an example using the following Employees table

output
| ID | Name | Salary |
| -- | ---- | ------ |
| 1  | John | 5000   |
| 2  | Sara | 8000   |
| 3  | Tom  | 15000  |
| 4  | Mary | 7000   |
| 5  | Sam  | 11000  |
| 6  | Ben  | 3000   |

Say, you want to find all employees earning salaries between 5000 and 10000. This is how you can do it using the BETWEEN operator

sql
SELECT Name, Salary
FROM Employees
WHERE Salary BETWEEN 5000 AND 10000;

And here is your result set

output
| Name | Salary |
| ---- | ------ |
| John | 5000   |
| Sara | 8000   |
| Mary | 7000   |

2) The NOT BETWEEN Operator

SQL offers the NOT BETWEEN operator to fetch records that lie outside the specified range. The syntax is the same as BETWEEN, but with the addition of the NOT keyword

sql
SELECT column_name(s)
FROM table_name
WHERE column_name NOT BETWEEN value1 AND value2;

Using the Employees table again, let’s fetch all employees who earn either less than 5000 or more than 10000. Here’s the appropriate query

sql
SELECT Name, Salary
FROM Employees
WHERE Salary NOT BETWEEN 5000 AND 10000;

The result would be

output
| Name | Salary |
| ---- | ------ |
| Tom  | 15000  |
| Sam  | 11000  |
| Ben  | 3000   |

3) BETWEEN with Dates

The BETWEEN operator works seamlessly with date ranges. This is particularly helpful when dealing with data of date or timestamp types.

Let’s assume you have an Orders table

output
| OrderID | Product    | OrderDate  |
| ------- | ---------- | ---------- |
|    1    | Apple      | 2023-01-15 |
|    2    | Orange     | 2023-02-20 |
|    3    | Banana     | 2023-03-10 |
|    4    | Grape      | 2023-04-30 |
|    5    | Mango      | 2023-05-05 |
|    6    | Watermelon | 2023-06-12 |

To get all orders placed between February 1, 2023, and May 31, 2023, you can use

sql
SELECT Product, OrderDate
FROM Orders
WHERE OrderDate BETWEEN '2023-02-01' AND '2023-05-31';

This would yield

output
| Product | OrderDate  |
| ------- | ---------- |
| Orange  | 2023-02-20 |
| Banana  | 2023-03-10 |
| Grape   | 2023-04-30 |
| Mango   | 2023-05-05 |

In Conclusion

SQL’s BETWEEN operator is a powerful tool for filtering data within a certain range. It can work with numbers, text (considering alphabetical order), and dates.

Keep in mind that the operation is inclusive, and if you wish to exclude the range boundaries, you’ll need to adjust your values accordingly.

Free Course
Master Core Python β€” Your First Step into AI/ML

Build a strong Python foundation with hands-on exercises designed for aspiring Data Scientists and AI/ML Engineers.

Start Free Course
Trusted by 50,000+ learners
Jagdeesh
Written by
Related Course
Master SQL β€” Hands-On
Join 5,000+ students at edu.darkorange-mallard-189514.hostingersite.com
Explore Course
Scroll to Top