Как применять условия if/else в sql?

Пользователь

от josie , в категории: SQL , 2 года назад

Как применять условия if/else в sql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , 2 года назад

@josie 

Условия if/else в SQL можно применять с помощью операторов CASE и IF.


Оператор CASE позволяет создавать условные выражения. Он имеет следующий синтаксис:

1
2
3
4
5
6
CASE 
   WHEN condition1 THEN result1
   WHEN condition2 THEN result2
   ...
   ELSE resultN
END


Пример использования оператора CASE:

1
2
3
4
5
6
SELECT name, 
       CASE 
          WHEN age >= 18 THEN 'adult'
          ELSE 'minor'
       END AS age_category
FROM users;


В этом примере мы используем оператор CASE для создания столбца age_category, который будет содержать значение "adult", если возраст пользователя равен или больше 18 лет, и значение "minor" в противном случае.


Оператор IF также может быть использован в SQL. Он имеет следующий синтаксис:

1
IF(condition, true_value, false_value)


Пример использования оператора IF:

1
2
3
SELECT name, 
       IF(age >= 18, 'adult', 'minor') AS age_category
FROM users;


В этом примере мы используем оператор IF для создания столбца age_category, который будет содержать значение "adult", если возраст пользователя равен или больше 18 лет, и значение "minor" в противном случае.


Обратите внимание, что оператор IF не поддерживается во всех СУБД. В некоторых СУБД он может быть заменен на оператор CASE.

Пользователь

от bart , год назад

@josie 

Дополнение: Если вы используете MySQL, оператор IF можно применять внутри запроса SELECT, UPDATE или DELETE. Например:


1 2 3 4 5


SELECT name, IF(age >= 18, 'adult', 'minor') AS age_category FROM users;


В этом примере мы используем оператор IF для создания столбца age_category, который будет содержать значение "adult", если возраст пользователя равен или больше 18 лет, и значение "minor" в противном случае.