sexta-feira, 31 de agosto de 2012

CASE em SQL

Neste post irei mostrar um recurso pouco conhecido e que não é visto na faculdade (pelo menos eu não vi), que é o usos do CASE em SQL.
A utilização do CASE em comandos SQL funciona semelhante ao 'if' das liguagens de programação.
Sintaxe:
'CASE' Expressão Avaliada

'WHEN' Expressão a ser comparada

'THEN' Expressão Resultante (caso a comparação seja avaliada como TRUE)

'ELSE' Expressão Resultante (caso nenhuma comparação seja avaliada como TRUE)

'END'

Como exemplo, podemos imaginar uma situação em que desejamos saber qual o maior publico entre os times Pernambucanos (Santa Cruz, Sport e Nautico ).
 SELECT mediaPublico,
       CASE
         WHEN mediaPublico>= 12000
              AND mediaPublico< 20000 THEN
         'Vice maior Torcida de PE - IXPORTÊ'
         WHEN mediaPublico>= 20000 THEN
         'A MAIOR TORCIDA DO NORTE/ NORDESTE - TRI-TRI-TRI- TRICOLOR SANTA!!!'
         WHEN mediaPublico< 12000 THEN
         'Torcida do Nauticu,cabe dentro de um fusquinha'
       end AS Maior_Torcida
FROM   torcida 

O CASE também pode ser usada em qualquer instrução ou cláusula que permita uma expressão válida como UPDATE, DELETE,
usando também a cláusula WHERE.

Nenhum comentário:

Postar um comentário