SQL CASE Statement

What is CASE?

CASE allows you to add conditional logic inside SQL queries.

It works like if-else statements.

Basic Syntax

CASE
  WHEN condition THEN result
  WHEN condition THEN result
  ELSE result
END

Basic Example

SELECT name,
  CASE
    WHEN salary > 50000 THEN 'High'
    ELSE 'Low'
  END AS salary_level
FROM employees;

Multiple Conditions

SELECT name,
  CASE
    WHEN salary > 70000 THEN 'Very High'
    WHEN salary > 50000 THEN 'High'
    ELSE 'Low'
  END AS salary_level
FROM employees;

CASE with Numbers

SELECT name,
  CASE
    WHEN age >= 18 THEN 'Adult'
    ELSE 'Minor'
  END AS age_group
FROM users;

CASE with GROUP BY

SELECT
  CASE
    WHEN salary > 50000 THEN 'High'
    ELSE 'Low'
  END AS salary_group,
  COUNT(*) AS total
FROM employees
GROUP BY salary_group;

CASE in ORDER BY

SELECT name, salary
FROM employees
ORDER BY
  CASE
    WHEN salary > 50000 THEN 1
    ELSE 2
  END;

Full Example

SELECT name,
  CASE
    WHEN salary > 70000 THEN 'Very High'
    WHEN salary > 50000 THEN 'High'
    ELSE 'Low'
  END AS salary_level
FROM employees;

Why CASE is Important

  • Add logic to queries
  • Group and categorize data
  • Create readable outputs
  • Used in dashboards and reports

Common Mistakes

  • Forgetting END
  • Overlapping conditions
  • Missing ELSE case

Practice

Categorize values into groups using CASE.

SELECT column_name,
  CASE
    WHEN condition THEN 'Group1'
    ELSE 'Group2'
  END AS category
FROM table_name;

Need Help?

Ask the AI if you need help understanding or want to dive deeper in any topic