Bird
Raised Fist0
PostgreSQLquery~5 mins

BETWEEN for range filtering in PostgreSQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the SQL BETWEEN operator do?
The BETWEEN operator filters rows where a column's value is within a specified range, including the start and end values.
Click to reveal answer
beginner
Write a SQL query using BETWEEN to find all orders with amounts between 100 and 500.
SELECT * FROM orders WHERE amount BETWEEN 100 AND 500;
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 check.
Click to reveal answer
intermediate
How is BETWEEN different from using >= and <= operators?
BETWEEN is a shorthand for using >= and <= together. For example, 'x BETWEEN a AND b' is the same as 'x >= a AND x <= b'.
Click to reveal answer
beginner
Can BETWEEN be used with dates in PostgreSQL?
Yes, BETWEEN works with dates to filter rows within a date range, including the start and end dates.
Click to reveal answer
Which of the following queries correctly finds products priced between 50 and 100?
ASELECT * FROM products WHERE price BETWEEN 50 AND 100;
BSELECT * FROM products WHERE price > 50 AND price < 100;
CSELECT * FROM products WHERE price = 50 OR price = 100;
DSELECT * FROM products WHERE price >= 50 OR price <= 100;
Does the BETWEEN operator include the boundary values in its range?
AIt includes only the lower boundary.
BNo, it excludes both boundaries.
CYes, it includes both boundaries.
DIt includes only the upper boundary.
Which is equivalent to 'salary BETWEEN 3000 AND 7000'?
Asalary >= 3000 AND salary <= 7000
Bsalary = 3000 OR salary = 7000
Csalary > 3000 OR salary < 7000
Dsalary > 3000 AND salary < 7000
Can BETWEEN be used to filter date columns in PostgreSQL?
AOnly with special date functions.
BNo, BETWEEN only works with numbers.
COnly if dates are converted to strings.
DYes, it works with dates.
What will this query return? SELECT * FROM sales WHERE sale_date BETWEEN '2024-01-01' AND '2024-01-31';
ASales only on January 1 and January 31, 2024.
BSales from January 1 to January 31, 2024, inclusive.
CSales before January 1, 2024.
DSales after January 31, 2024.
Explain how the BETWEEN operator works for filtering numeric ranges in SQL.
Think about how you check if a number is between two others.
You got /4 concepts.
    Describe how you would use BETWEEN to filter rows by date in PostgreSQL.
    Dates can be compared like numbers in SQL.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the BETWEEN operator do in PostgreSQL?
      easy
      A. Filters rows where a column's value is NULL.
      B. Filters rows where a column's value is exactly equal to a single value.
      C. Filters rows where a column's value is within a specified range, inclusive.
      D. Filters rows where a column's value is outside a specified range.

      Solution

      1. Step 1: Understand the purpose of BETWEEN

        The BETWEEN operator checks if a value lies between two given values, including both ends.
      2. Step 2: Compare with other filtering options

        Unlike equality or NULL checks, BETWEEN covers a range inclusively.
      3. Final Answer:

        Filters rows where a column's value is within a specified range, inclusive. -> Option C
      4. Quick Check:

        BETWEEN means inclusive range filter [OK]
      Hint: BETWEEN includes both range ends, like a closed interval [OK]
      Common Mistakes:
      • Thinking BETWEEN excludes the range ends
      • 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 (inclusive)?
      easy
      A. SELECT * FROM users WHERE age BETWEEN 18 TO 30;
      B. SELECT * FROM users WHERE age BETWEEN 18 AND 30;
      C. SELECT * FROM users WHERE age >= 18 AND <= 30;
      D. SELECT * FROM users WHERE age IN BETWEEN (18, 30);

      Solution

      1. Step 1: Recall correct BETWEEN syntax

        The correct syntax uses BETWEEN followed by the lower and upper bounds separated by AND.
      2. Step 2: Check each option

        SELECT * FROM users WHERE age BETWEEN 18 AND 30; uses BETWEEN 18 AND 30 correctly; others have syntax errors or wrong keywords.
      3. Final Answer:

        SELECT * FROM users WHERE age BETWEEN 18 AND 30; -> Option B
      4. Quick Check:

        BETWEEN ... AND ... is correct syntax [OK]
      Hint: BETWEEN always uses AND, not TO or commas [OK]
      Common Mistakes:
      • Using TO instead of AND
      • Using incomplete comparison operators
      • Misplacing parentheses or commas
      3. Given the table orders with a column order_date of type DATE, what will this query return?

      SELECT order_id FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-01-31';
      medium
      A. Orders placed exactly on January 1, 2023, only.
      B. All orders placed before January 1, 2023.
      C. All orders placed after January 31, 2023.
      D. All orders placed from January 1, 2023, to January 31, 2023, inclusive.

      Solution

      1. Step 1: Understand the BETWEEN date range

        The query filters orders where order_date is between '2023-01-01' and '2023-01-31', including both dates.
      2. Step 2: Interpret the result set

        It returns all orders placed on any date from January 1 to January 31, 2023, inclusive.
      3. Final Answer:

        All orders placed from January 1, 2023, to January 31, 2023, inclusive. -> Option D
      4. Quick Check:

        BETWEEN includes both start and end dates [OK]
      Hint: BETWEEN dates includes both start and end days [OK]
      Common Mistakes:
      • Assuming BETWEEN excludes the end date
      • Confusing BETWEEN with less than or greater than only
      • Thinking it returns only one date
      4. Identify the error in this query:

      SELECT * FROM products WHERE price BETWEEN 100, 500;
      medium
      A. The BETWEEN clause uses a comma instead of AND between values.
      B. The price column cannot be used with BETWEEN.
      C. BETWEEN requires parentheses around the values.
      D. The query is correct and will run without errors.

      Solution

      1. Step 1: Check BETWEEN syntax

        BETWEEN requires two values separated by AND, not a comma.
      2. Step 2: Identify the syntax error

        The query uses a comma between 100 and 500, which is invalid syntax.
      3. Final Answer:

        The BETWEEN clause uses a comma instead of AND between values. -> Option A
      4. Quick Check:

        BETWEEN needs AND, not commas [OK]
      Hint: BETWEEN always uses AND, never commas [OK]
      Common Mistakes:
      • Using commas instead of AND
      • Adding unnecessary parentheses
      • Assuming BETWEEN works with any separator
      5. You want to find all employees hired between January 1, 2020, and December 31, 2022, but exclude those hired exactly on January 1, 2020. Which query achieves this?
      hard
      A. All of the above queries will work correctly.
      B. SELECT * FROM employees WHERE hire_date > '2020-01-01' AND hire_date <= '2022-12-31';
      C. SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-02' AND '2022-12-31';
      D. SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-01' AND '2022-12-31' AND hire_date <> '2020-01-01';

      Solution

      1. Step 1: Understand the requirement

        We want employees hired after January 1, 2020, up to December 31, 2022, excluding January 1, 2020 itself.
      2. Step 2: Analyze each query

        SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-01' AND '2022-12-31' AND hire_date <> '2020-01-01'; uses BETWEEN including '2020-01-01' but excludes it with <> condition.
        SELECT * FROM employees WHERE hire_date > '2020-01-01' AND hire_date <= '2022-12-31'; uses > and <= to exclude '2020-01-01' naturally.
        SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-02' AND '2022-12-31'; shifts the BETWEEN range to start from '2020-01-02', excluding '2020-01-01'.
      3. Step 3: Confirm all queries meet the condition

        All three queries exclude '2020-01-01' and include dates up to '2022-12-31'.
      4. Final Answer:

        All of the above queries will work correctly. -> Option A
      5. Quick Check:

        Multiple ways to exclude start date in range [OK]
      Hint: Exclude start date by > or adjust BETWEEN start or add <> [OK]
      Common Mistakes:
      • Assuming BETWEEN excludes start date by default
      • Using BETWEEN without excluding the start date
      • Confusing BETWEEN with exclusive range
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard