SQL Exercises

Advanced SQL CASE WHEN Exercises

0 Exercises
~0 min

Advanced-level SQL CASE WHEN practice exercises with solutions.

Exercise 1

Question: Count orders by status (Pending, Shipped, Delivered).

SELECT COUNT(CASE WHEN status = 'pending' THEN 1 END) AS pending_count, COUNT(CASE WHEN status = 'shipped' THEN 1 END) AS shipped_count, COUNT(CASE WHEN status = 'delivered' THEN 1 END) AS delivered_count FROM orders;

CASE inside aggregate functions allows pivoting data. This turns row values into columns.

Related Content

Ready for more practice?

Join SQL Mastery and get access to interactive exercises, quizzes, and more.