Case Expression vs Case Statement

Qual é a diferença entre umExpressão de Caso e umDeclaração de caso no MySQL? Quando eles podem ser usados ​​e quais são os benefícios de usar um sobre o outro?

Sintaxe da declaração de caso:

CASE
  WHEN search_condition THEN statement_list
  [WHEN search_condition THEN statement_list] ...
  [ELSE statement_list]
END CASE

Sintaxe de Expressão de Caso:

CASE 
  WHEN [condition] THEN result 
  [WHEN [condition] THEN result ...] 
  [ELSE result] 
END

Estes parecem quase idênticos, mas a descrição inicial de Case Statements é queThe CASE statement for stored programs implements a complex conditional construct.

Então, é a diferença significativa que um é usado em programas armazenados e não utilizável em consultas normais? Eu tentei isso em uma consulta que eu estava jogando e falhou -sqlfiddle. Se este for o caso, por que não apenas usar o Case Expression em um programa armazenado?

Há alguma outra diferença sintática a ser percebida, uma vez que elas parecem idênticas?

questionAnswers(1)

yourAnswerToTheQuestion