Описание тега case-statement
Оператор CASE обеспечивает механизм условного выполнения операторов SQL.
Он существует в двух формах: простой случай и искомый случай.
В простом случае выполняется сравнение на равенство между одним выражением и несколькими альтернативными выражениями, каждое из которых следует за предложением WHEN.
Искомый случай включает оценку истинности ряда альтернативных условий поиска, каждое из которых следует за предложением WHEN.
В каждой форме CASE именно первое предложение WHEN, оцениваемое как истинное, работая сверху вниз, определяет, какая последовательность операторов SQL будет выполняться.
После предложения THEN для каждого WHEN может быть один или несколько операторов SQL. Если ни одно из предложений WHEN не является истинным, выполняются операторы SQL, следующие за предложением ELSE. Если ни одно из предложений WHEN не имеет значения true и отсутствует предложение ELSE, возникает условие исключения, указывающее, что случай не был найден.
Предоставление предложения ELSE, поддерживающего пустой составной оператор, предотвратит возникновение условия исключения в случаях, когда не требуется действие else, когда ни одна из альтернатив WHEN не оценивается как истинная.