Esta é uma tabela de amostra:
name | cat
----------
hugo | sal
bob | mgr
mike | dev
jeff | mgr
john | dev
Ambos namee catsendo Varchar.
cat reflete uma categoria para esses nomes, mas eu gosto de atribuir uma prioridade a eles, seguida de uma consulta para listar todos eles, ordenada por essa prioridade.
Que maneiras são possíveis? Eu poderia extrair catpara uma segunda tabela, criar uma chave estrangeira etc. Mas, como meu aplicativo é muito simples e a estrutura pode ser inalterável: Quais são as possibilidades para listar os mgrnomes primeiro, seguidos pelos devnomes, seguidos pelos salnomes ?
caseexpressão (como é chamada) é válida em qualquer lugar em que uma coluna possa ser especificada; eb) a expressão pode ser ligeiramente simplificada paracase `cat` when 'mgr' then 1 when 'dev' then 2 else 3 end