CASE Keyword
The CASE keyword is used to check different conditions and, based on those, give an output.
A case is very useful when we want to give an output based on multiple conditions.
Case is equivalent to if...else if...else.
If all conditions become false, then the part will be executed.
Check multiple conditions and returns a value when the specified condition is met.
We can use case statements in select queries, where clauses, order by clauses, etc.
Syntax
SELECT <COLUMNS>,
CASE
WHEN <CONDITION_1> THEN <OUTPUT_1>
WHEN <CONDITION_2> THEN <OUTPUT_2>
WHEN <CONDITION_3> THEN <OUTPUT_2>
ELSE <OUTPUT_ELSE>
END FROM <TABLE_NAME>
Example 1
SELECT Emp_Id, Emp_Name,Emp_Salary,
CASE
WHEN Emp_Salary > 50000 THEN 'Salary Greater Than 50K'
WHEN Emp_Salary > 40000 THEN 'Salary Greater Than 40K'
WHEN Emp_Salary > 30000 THEN 'Salary Greater Than 30K'
ELSE 'Salary Less Than 30K' As 'Salary Description'
END From Employee;
Example 2
Select Emp_Id,Emp_Name,Emp_Age,Emp_Salary,
Case When Emp_Gender = 'Male' Then 'M'
When Emp_Gender = 'Female' Then 'F'
Else 'No Gender Selected' End As 'Gender' From Employee
Example 3
Select * From Employee Order By
Case Emp_Gender When 'Female' Then Emp_Salary End Desc,
Case Emp_Gender When 'Male' Then Emp_Salary End Asc
Summary
The Case command is used to display different outputs based on different conditions.