The BETWEEN operator filters results to include only values within a specified range, including the start and end values.
Click to reveal answer
beginner
Write a simple SQL query using BETWEEN to find ages between 18 and 30.
Example: SELECT * FROM users WHERE age BETWEEN 18 AND 30; This returns users aged 18 through 30 inclusive.
Click to reveal answer
beginner
Does BETWEEN include the boundary values in the range?
Yes, BETWEEN includes both the start and end values in the range.
Click to reveal answer
intermediate
How is BETWEEN different from using >= and <=?
Using BETWEEN a AND b is the same as value >= a AND value <= b. BETWEEN is just a shorter, clearer way to write it.
Click to reveal answer
beginner
Can BETWEEN be used with dates in MySQL?
Yes, BETWEEN works with dates to filter rows between two dates, including both dates.
Click to reveal answer
Which of the following queries correctly selects rows where the price is between 100 and 200?
ASELECT * FROM products WHERE price BETWEEN 100 AND 200;
BSELECT * FROM products WHERE price > 100 AND price < 200;
CSELECT * FROM products WHERE price >= 100 OR price <= 200;
DSELECT * FROM products WHERE price = 100 AND price = 200;
✗ Incorrect
BETWEEN 100 AND 200 includes prices from 100 to 200 inclusive. Option B excludes 100 and 200, C uses OR which is incorrect, and D is impossible.
Does BETWEEN include the boundary values in the range?
AIt includes only the lower boundary.
BNo, it excludes both boundaries.
CYes, it includes both boundaries.
DIt includes only the upper boundary.
✗ Incorrect
BETWEEN always includes the start and end values.
Which is equivalent to value BETWEEN 10 AND 20?
Avalue = 10 OR value = 20
Bvalue > 10 AND value < 20
Cvalue >= 10 OR value <= 20
Dvalue >= 10 AND value <= 20
✗ Incorrect
BETWEEN includes both boundaries, so it equals >= 10 AND <= 20.
Can BETWEEN be used to filter date ranges in MySQL?
ANo, it only works with numbers.
BYes, it works with dates.
COnly with datetime, not date.
DOnly with strings.
✗ Incorrect
BETWEEN works with numbers, dates, and strings in MySQL.
What happens if you write WHERE value BETWEEN 20 AND 10?
AIt returns no rows because the range is invalid.
BIt returns all rows.
CIt swaps the values automatically.
DIt returns rows where value is between 10 and 20.
✗ Incorrect
The BETWEEN operator expects the first value to be less than or equal to the second. If reversed, it returns no rows.
Explain how the BETWEEN operator works in SQL and give an example query.
Think about filtering values within a range.
You got /3 concepts.
Describe the difference between using BETWEEN and using >= and <= operators.
Consider how you write conditions for a range.
You got /3 concepts.
Practice
(1/5)
1. What does the BETWEEN operator do in a MySQL query?
easy
A. Filters rows where a column's value is NULL.
B. Filters rows where a column's value is within a specified range, inclusive.
C. Filters rows where a column's value is outside a specified range.
D. Filters rows where a column's value is exactly equal to one value.
Solution
Step 1: Understand the purpose of BETWEEN
The BETWEEN operator is used to filter rows where a column's value falls between two values, including both ends.
Step 2: Compare options with definition
Filters rows where a column's value is within a specified range, inclusive. correctly describes this inclusive range filtering. Other options describe different filters.
Final Answer:
Filters rows where a column's value is within a specified range, inclusive. -> Option B
Quick Check:
BETWEEN means inclusive range filter = D [OK]
Hint: BETWEEN includes both start and end values in range [OK]
Common Mistakes:
Thinking BETWEEN excludes the end values
Confusing BETWEEN with equality (=)
Assuming BETWEEN works only with numbers
2. Which of the following is the correct syntax to select rows where the column age is between 18 and 30?
easy
A. SELECT * FROM users WHERE age BETWEEN 18 & 30;
B. SELECT * FROM users WHERE age BETWEEN (18, 30);
C. SELECT * FROM users WHERE age BETWEEN 18 TO 30;
D. SELECT * FROM users WHERE age BETWEEN 18 AND 30;
Solution
Step 1: Recall correct BETWEEN syntax
The correct syntax uses BETWEEN value1 AND value2 without parentheses or other connectors.
Step 2: Check each option
SELECT * FROM users WHERE age BETWEEN 18 AND 30; uses correct syntax. Options B, C, and D use invalid syntax with commas, TO, or &.
Final Answer:
SELECT * FROM users WHERE age BETWEEN 18 AND 30; -> Option D
Quick Check:
BETWEEN ... AND ... syntax = A [OK]
Hint: BETWEEN syntax always uses AND, no commas or TO [OK]
Common Mistakes:
Using commas inside BETWEEN
Replacing AND with TO or &
Adding parentheses around range values
3. Given the table products with a column price, what will this query return?
SELECT * FROM products WHERE price BETWEEN 50 AND 100;
medium
A. All products with price greater than 50 and less than 100, excluding 50 and 100.
B. All products with price exactly 50 or 100 only.
C. All products with price from 50 up to 100, including both 50 and 100.
D. All products with price less than 50 or greater than 100.
Solution
Step 1: Understand BETWEEN inclusiveness
BETWEEN includes both boundary values, so prices 50 and 100 are included.
Step 2: Analyze query result
The query returns products priced from 50 to 100 inclusive, matching All products with price from 50 up to 100, including both 50 and 100..
Final Answer:
All products with price from 50 up to 100, including both 50 and 100. -> Option C
Quick Check:
BETWEEN includes boundaries = C [OK]
Hint: BETWEEN includes start and end values in results [OK]
Common Mistakes:
Thinking BETWEEN excludes boundary values
Confusing BETWEEN with > and < operators
Assuming BETWEEN works only for numbers
4. Identify the error in this query:
SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31'
medium
A. No error; the query is correct.
B. BETWEEN cannot be used with date values.
C. The date format is incorrect for BETWEEN.
D. Missing semicolon at the end of the query.
Solution
Step 1: Check BETWEEN usage with dates
BETWEEN works perfectly with date values in MySQL when dates are in 'YYYY-MM-DD' format.
Step 2: Verify query syntax
The query syntax is correct; semicolon is optional in many clients and not an error here.
Final Answer:
No error; the query is correct. -> Option A
Quick Check:
BETWEEN works with dates correctly = A [OK]
Hint: BETWEEN works with numbers, dates, and text [OK]
Common Mistakes:
Thinking BETWEEN can't filter dates
Expecting semicolon is mandatory always
Using wrong date formats like MM-DD-YYYY
5. You want to find all employees hired between January 1, 2020, and December 31, 2022, but your query returns no rows:
SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-01' AND '2022-12-31 23:59:59';
What is the most likely reason and how to fix it?
hard
A. hire_date column stores only dates without time; remove time part from end date.
B. BETWEEN does not work with datetime values; use >= and <= instead.
C. The date format is wrong; use MM-DD-YYYY format.
D. The query is correct; the table is empty.
Solution
Step 1: Understand data type of hire_date
If hire_date stores only DATE (no time), comparing with '2022-12-31 23:59:59' fails because time part is ignored or mismatched.
Step 2: Fix the query
Use '2022-12-31' without time to match date-only values correctly.
Final Answer:
hire_date column stores only dates without time; remove time part from end date. -> Option A
Quick Check:
Match data type format in BETWEEN range = B [OK]
Hint: Match data types exactly when using BETWEEN with dates [OK]
Common Mistakes:
Adding time to date-only columns in BETWEEN
Assuming BETWEEN fails with datetime
Using wrong date formats
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.