Duplicate table aliasesSQL-L020Unused table aliasSQL-L025Undefined reference detectedSQL-L026Unqualified referencesSQL-L027Keyword used as an identifierSQL-L029Inconsistent capitalization detectedSQL-L014Inconsistent capitalisation of keywordsSQL-L010Implicit aliasing of table detectedSQL-L011Implicit aliasing of column detectedSQL-L012Column expression without alias detectedSQL-L013`DISTINCT` with parenthesisSQL-L015Ambiguous use of `DISTINCT`SQL-L021Trailing commas within `SELECT` clauseSQL-L038Unnecessary whitespace foundSQL-L039Inconsistent referencesSQL-L028Unnecessary trailing whitespaceSQL-L001Mixed Tabs and Spaces in single whitespaceSQL-L002Expected a single whitespace after `AS`SQL-L023Expected a single whitespace after `USING`SQL-L024Files must end with a trailing newlineSQL-L009Line too longSQL-L016Inconsistent function namesSQL-L030Indentation not consistent with previous linesSQL-L003Operators placed before the newlineSQL-L007Missing whitespace after a commaSQL-L008Function name not immediately followed by bracketSQL-L017Misaligned closing bracketSQL-L018Mixed comma style foundSQL-L019Missing blank lineSQL-L022Mixed Tab and Space indentationSQL-L004Multiple whitespaces around an operatorsSQL-L006Commas has whitespace directly before themSQL-L005Inconsistent capitalisation of boolean or null literalSQL-L040Misaligned `SELECT` modifierSQL-L041Table aliasing in `FROM` and `JOIN` operatorsSQL-L031Confusing use of `USING` operatorSQL-L032File start with ' ' or other whitespaceSQL-L050Unqualified use of `JOIN` clauseSQL-L051Subquery found in `JOIN`SQL-L042Unidiomatic `NULL` checksSQL-L049Unflattened `CASE` statements in `ELSE` clauseSQL-L058Multiple `SELECT` targets on same lineSQL-L036Ambiguous ordering directions for columns in `ORDER BY` clauseSQL-L037Unidiomatic use of `UNION` operatorSQL-L033Unidiomatic `SELECT` operand arrangementSQL-L034Redundant `ELSE NULL`SQL-L035Unnecessary `CASE` statementSQL-L043Unknown number of resulting columnsSQL-L044Unused Common Table Expression in querySQL-L045Use of non-ANSI spec syntax for `COUNT` all rowsSQL-L047Inconsistent styling around string literalsSQL-L048Improperly placed semi-colon(`;`) at statement endSQL-L052Use of brackets wrapping top-level codeSQL-L053Inconsistent column references in `GROUP BY`/`ORDER BY`SQL-L054Use `LEFT JOIN` instead of `RIGHT JOIN`SQL-L055
SQL logoSQL/
SQL-L058

Unflattened `CASE` statements in `ELSE` clauseSQL-L058

Minor severityMinor
Anti-pattern categoryAnti-pattern

Nested CASE statement in ELSE clause could be flattened.

Bad practice

In this example, the outer CASE’s ELSE is an unnecessary, nested CASE.

SELECT
  CASE
    WHEN species = 'Cat' THEN 'Meow'
    ELSE
    CASE
       WHEN species = 'Dog' THEN 'Woof'
    END
  END as sound
FROM mytable
SELECT
  CASE
    WHEN species = 'Cat' THEN 'Meow'
    WHEN species = 'Dog' THEN 'Woof'
  END AS sound
FROM mytable