Bird
Raised Fist0
PostgreSQLquery~5 mins

ANY and ALL with arrays in PostgreSQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the ANY keyword do when used with arrays in PostgreSQL?

ANY checks if a value matches any element in an array. It returns true if the value satisfies the condition for at least one element.

Click to reveal answer
beginner
How does ALL differ from ANY when used with arrays?

ALL checks if a value matches all elements in an array. It returns true only if the value satisfies the condition for every element.

Click to reveal answer
intermediate
Write a simple example query using ANY with an array.
SELECT * FROM products WHERE price > ANY (ARRAY[10, 20, 30]);

This finds products with price greater than at least one of 10, 20, or 30.

Click to reveal answer
beginner
What will this query return?
SELECT 5 = ALL (ARRAY[5, 5, 5]);

It returns true because 5 equals all elements in the array.

Click to reveal answer
intermediate
Can ANY and ALL be used with operators other than =? Give an example.

Yes. For example:

SELECT * FROM orders WHERE quantity < ALL (ARRAY[10, 20, 30]);

This finds orders where quantity is less than every number in the array.

Click to reveal answer
What does price > ANY (ARRAY[100, 200, 300]) mean?
APrice equals any of 100, 200, or 300
BPrice is greater than all of 100, 200, and 300
CPrice equals all of 100, 200, and 300
DPrice is greater than at least one of 100, 200, or 300
What will SELECT 10 = ALL (ARRAY[10, 10, 10]); return?
Afalse
Bnull
Ctrue
Derror
Which keyword checks if a value matches every element in an array?
AALL
BANY
CSOME
DIN
Is this query valid?
SELECT * FROM table WHERE col < ALL (ARRAY[5, 10, 15]);
AYes, it checks if col is less than all array elements
BNo, <code>ALL</code> cannot be used with <
CNo, arrays cannot be used with <code>ALL</code>
DYes, but it checks if col is less than any element
What does value = ANY (array) return if the array is empty?
Aerror
Bfalse
Cnull
Dtrue
Explain how ANY and ALL work with arrays in PostgreSQL and give a simple example for each.
Think about comparing a value to multiple values stored in an array.
You got /4 concepts.
    Describe a real-life scenario where using ANY or ALL with arrays in a query would be helpful.
    Imagine checking if a price is higher than some or all given thresholds.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the ANY keyword do when used with an array in PostgreSQL?
      easy
      A. It checks if a value matches at least one element in the array.
      B. It checks if a value matches all elements in the array.
      C. It returns all elements of the array.
      D. It returns the first element of the array.

      Solution

      1. Step 1: Understand the ANY keyword

        ANY compares a single value to each element in an array and returns true if it matches any one of them.
      2. Step 2: Compare with ALL keyword

        ALL requires the value to match every element, which is different from ANY.
      3. Final Answer:

        It checks if a value matches at least one element in the array. -> Option A
      4. Quick Check:

        ANY = matches any element [OK]
      Hint: ANY means match at least one element in array [OK]
      Common Mistakes:
      • Confusing ANY with ALL
      • Thinking ANY returns all elements
      • Assuming ANY returns first element only
      2. Which of the following is the correct syntax to check if the number 5 is equal to any element in the array ARRAY[3,5,7] in PostgreSQL?
      easy
      A. SELECT 5 = ANY ARRAY[3,5,7];
      B. SELECT 5 = ANY[3,5,7];
      C. SELECT 5 = ANY(ARRAY[3,5,7]);
      D. SELECT 5 = ALL ARRAY(3,5,7);

      Solution

      1. Step 1: Check correct ANY syntax

        The correct syntax uses = ANY(ARRAY[...]) with parentheses around ARRAY.
      2. Step 2: Identify wrong options

        SELECT 5 = ANY ARRAY[3,5,7]; misses parentheses around ARRAY, causing syntax error. SELECT 5 = ANY[3,5,7]; uses square brackets incorrectly. SELECT 5 = ALL ARRAY(3,5,7); uses ALL instead of ANY and wrong ARRAY syntax without [].
      3. Final Answer:

        SELECT 5 = ANY(ARRAY[3,5,7]); -> Option C
      4. Quick Check:

        = ANY(ARRAY[...]) [OK]
      Hint: Use = ANY(ARRAY[...]) with parentheses [OK]
      Common Mistakes:
      • Omitting parentheses around ARRAY
      • Using square brackets instead of ARRAY keyword
      • Mixing ANY and ALL keywords
      3. Given the query:
      SELECT 4 > ALL ARRAY[2,3,5];
      What is the result?
      medium
      A. true
      B. null
      C. false
      D. syntax error

      Solution

      1. Step 1: Understand ALL with comparison

        The query uses 4 > ALL ARRAY[2,3,5] but misses required parentheses around the array.
      2. Step 2: Correct syntax and error

        Correct is 4 > ALL (ARRAY[2,3,5]). Without (), it causes syntax error. (Note: if fixed, 4>5 is false so result false, but as given: error.)
      3. Final Answer:

        syntax error -> Option D
      4. Quick Check:

        Missing () around ARRAY -> syntax error [OK]
      Hint: op ALL requires (ARRAY[...]) [OK]
      Common Mistakes:
      • Assuming query runs and gets false
      • Forgetting parentheses around ARRAY
      • Confusing with ANY behavior
      4. Identify the error in this query:
      SELECT * FROM users WHERE age = ALL [20, 30, 40];
      medium
      A. ALL cannot be used with numbers
      B. Using square brackets instead of ARRAY keyword
      C. Missing comparison operator
      D. No error, query is correct

      Solution

      1. Step 1: Check array syntax in WHERE clause

        PostgreSQL requires arrays to be written with ARRAY keyword, not square brackets alone.
      2. Step 2: Identify correct syntax

        The correct syntax is age = ALL (ARRAY[20, 30, 40]). Using just [20, 30, 40] causes syntax error.
      3. Final Answer:

        Using square brackets instead of ARRAY keyword -> Option B
      4. Quick Check:

        Arrays need ARRAY keyword, not just brackets [OK]
      Hint: Use ARRAY[...] not just brackets for arrays [OK]
      Common Mistakes:
      • Using [] instead of ARRAY[]
      • Thinking ALL can't compare numbers
      • Missing operator after WHERE
      5. You want to find all products priced less than every price in the array ARRAY[100, 200, 300]. Which query correctly achieves this?
      hard
      A. SELECT * FROM products WHERE price < ALL (ARRAY[100, 200, 300]);
      B. SELECT * FROM products WHERE price < ANY ARRAY[100, 200, 300];
      C. SELECT * FROM products WHERE price > ALL ARRAY[100, 200, 300];
      D. SELECT * FROM products WHERE price = ALL ARRAY[100, 200, 300];

      Solution

      1. Step 1: Understand the requirement

        We want products with price less than every price in the array, meaning price must be less than 100 (the minimum).
      2. Step 2: Choose correct operator and keyword

        Using price < ALL (ARRAY[100, 200, 300]) checks if price is less than all elements. ANY would only require less than one.
      3. Final Answer:

        SELECT * FROM products WHERE price < ALL (ARRAY[100, 200, 300]); -> Option A
      4. Quick Check:

        Less than ALL means less than every element [OK]
      Hint: Use < ALL (ARRAY[...]) to check less than every element [OK]
      Common Mistakes:
      • Using ANY instead of ALL for all elements
      • Using > instead of < for less than
      • Using = ALL which checks equality
      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