The SQL BETWEEN condition allows you to easily test if an expression is within a range of values (inclusive). The values can be text, date, or numbers. It can be used in a SELECT, INSERT, UPDATE, or DELETE statement. The SQL BETWEEN Condition will return the records where expression is within the range of value1 and value2.
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
Consider the following Employee Table,
- Using BETWEEN with Numeric Values:
List all the Employee Fname, Lname who is having salary between 30000 and 45000.
SELECT Fname, Lname FROM Employee WHERE Salary BETWEEN 30000 AND 45000;
- Using BETWEEN with Date Values:
Find all the Employee having Date of Birth Between 01-01-1985 and 12-12-1990.
SELECT Fname, Lname FROM Employee where DOB BETWEEN '1985-01-01' AND '1990-12-30';
- Using NOT operator with BETWEEN
Find all the Employee name whose salary is not in the range of 30000 and 45000.
SELECT Fname, Lname FROM Emplyoee WHERE Salary NOT BETWEEN 30000 AND 45000;
IN operator allows you to easily test if the expression matches any value in the list of values. It is used to remove the need of multiple OR condition in SELECT, INSERT, UPDATE or DELETE. You can also use NOT IN to exclude the rows in your list.
SELECT column_name(s) FROM table_name WHERE column_name IN (list_of_values);
- Find the Fname, Lname of the Employees who have Salary equal to 30000, 40000 or 25000.
SELECT Fname, Lname FROM Employee WHERE Salary IN (30000, 40000, 25000);
- Find the Fname, Lname of all the Employee who have Salary not equal to 25000 or 30000.
SELECT Fname, Lname FROM Employee WHERE Salary NOT IN (25000, 30000);
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.