Case expression vs case statement

Was ist der Unterschied zwischen aFallausdruck und einCase Statement in MySQL? Wann können sie verwendet werden, und welche Vorteile hat die Verwendung übereinander?

Case-Statement-Syntax:

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

Syntax für Groß- / Kleinschreibung:

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

Diese sehen fast identisch aus, aber die ursprüngliche Beschreibung für Case Statements lautet wie folgtThe CASE statement for stored programs implements a complex conditional construct.

Ist der signifikante Unterschied, den man in gespeicherten Programmen verwendet und in normalen Abfragen nicht verwendbar ist? Ich habe dies bei einer Abfrage ausprobiert, mit der ich gespielt habe, und es ist fehlgeschlagen.sqlfiddle. Wenn dies der Fall ist, warum nicht einfach den Fallausdruck in einem gespeicherten Programm verwenden?

Gibt es andere syntaktische Unterschiede, die zu beachten sind, da sie identisch zu sein scheinen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage