В SQL оператор SELECT используется для извлечения данных из базы данных. Хотя в нем нет явной конструкции IF-THEN-ELSE, существует несколько способов реализации условной логики внутри оператора SELECT. Давайте рассмотрим некоторые из этих методов:
-
Инструкция CASE:
Инструкция CASE позволяет выполнять условные проверки и возвращать различные значения в зависимости от условий. Он имеет две формы: простой CASE и CASE с поиском.-
Простой CASE:
SELECT column, CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE result END FROM table; -
Искаемый CASE:
SELECT column, CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END FROM table;
-
-
Функция ЕСЛИ.
Некоторые системы баз данных предоставляют функцию ЕСЛИ, которая позволяет выполнять условные проверки внутри оператора SELECT. Синтаксис может различаться в зависимости от используемой базы данных. Вот пример использования MySQL:SELECT column, IF(condition, true_result, false_result) FROM table; -
Функция COALESCE:
Функция COALESCE возвращает первое непустое выражение в списке. Вы можете использовать его для имитации поведения IF-THEN-ELSE, предоставляя несколько выражений и возвращая разные значения в зависимости от условия.SELECT column, COALESCE( CASE WHEN condition THEN value1 END, CASE WHEN condition2 THEN value2 END, default_value ) FROM table;