在PostgreSQL中,CASE表达式用于根据条件执行不同的操作。下面是使用CASE编写PostgreSQL查询的示例代码:
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END AS result_column
FROM table_name;
例如,根据score字段的值返回不同的等级:
SELECT name, score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
SELECT column1, column2
FROM table_name
WHERE
CASE
WHEN condition1 THEN condition2
WHEN condition3 THEN condition4
ELSE condition5
END;
例如,查询成绩大于等于80且小于等于90的学生:
SELECT name, score
FROM students
WHERE
CASE
WHEN score >= 80 AND score <= 90 THEN true
ELSE false
END;
SELECT column1, column2
FROM table_name
ORDER BY
CASE
WHEN condition1 THEN expression1
WHEN condition2 THEN expression2
ELSE expression3
END;
例如,根据不同的条件对学生进行排序:
SELECT name, score
FROM students
ORDER BY
CASE
WHEN score >= 90 THEN score
WHEN score >= 80 THEN score
ELSE score
END DESC;
以上是使用CASE编写PostgreSQL查询的基本示例。根据具体的需求,你可以根据这些示例进行调整和扩展。