Query

SQL CASE expressions

Use conditional logic inside queries and data changes.

Availability: Common SQL with references for SQL standard, MySQL/MariaDB, PostgreSQL, SQL Server, SQLite and Oracle Database; syntax and feature support vary by engine and version.中文

Syntax

CASE WHEN condition THEN result ELSE fallback END

Examples

Use conditional logic inside queries and data changes.

SELECT CASE WHEN total >= 100 THEN 'large' ELSE 'standard' END FROM orders;

SQLite-oriented example; consult the relevant dialect manual.

SELECT CASE WHEN total >= 100 THEN 'large' ELSE 'standard' END FROM orders;

Parameters, options and clauses

Option / clauseDescription
SELECT / expressionChoose output columns, expressions, aliases or functions.
FROM / JOINChoose source tables and combine related rows.
WHEREFilter rows before grouping; use IS NULL for null checks.
GROUP BY / HAVINGGroup rows and filter aggregate groups.
ORDER BYSort the result; ASC is commonly the default and DESC reverses it.
LIMIT / OFFSET / FETCHLimit or skip rows; syntax differs by database dialect.

Dialect references

Safety note

Review a command and its target before running it. Commands that alter files, services, accounts, disks, permissions or databases may be difficult to reverse. Test in a safe environment and keep backups.

Official reference ↗Back to directory