Bird
0
0

You want to find customers who have placed orders but exclude those who only ordered products priced below 50. Which query correctly uses EXISTS to achieve this?

hard📝 Application Q8 of 15
PostgreSQL - Subqueries in PostgreSQL
You want to find customers who have placed orders but exclude those who only ordered products priced below 50. Which query correctly uses EXISTS to achieve this?
ASELECT * FROM customers WHERE EXISTS (SELECT 1 FROM orders WHERE orders.customer_id = customers.id AND orders.price < 50);
BSELECT * FROM customers WHERE EXISTS (SELECT 1 FROM products WHERE products.price < 50);
CSELECT * FROM customers WHERE NOT EXISTS (SELECT 1 FROM orders WHERE orders.customer_id = customers.id);
DSELECT * FROM customers WHERE EXISTS (SELECT 1 FROM orders JOIN products ON orders.product_id = products.id WHERE orders.customer_id = customers.id AND products.price >= 50);
Step-by-Step Solution
Solution:
  1. Step 1: Understand the requirement

    We want customers with orders for products priced 50 or more, excluding those with only cheaper products.
  2. Step 2: Analyze each option

    SELECT * FROM customers WHERE EXISTS (SELECT 1 FROM orders JOIN products ON orders.product_id = products.id WHERE orders.customer_id = customers.id AND products.price >= 50); correctly joins orders and products, filters by price >= 50, and checks existence per customer.
  3. Final Answer:

    SELECT * FROM customers WHERE EXISTS (SELECT 1 FROM orders JOIN products ON orders.product_id = products.id WHERE orders.customer_id = customers.id AND products.price >= 50); -> Option D
  4. Quick Check:

    EXISTS with join and price filter = B [OK]
Quick Trick: Use EXISTS with JOIN and condition to filter related rows [OK]
Common Mistakes:
  • Filtering on wrong table or column
  • Using NOT EXISTS incorrectly
  • Ignoring product price condition

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes