MySQL if else как правильно?

В языке MySQL, конструкция if-else может быть использована для выполнения различных действий в зависимости от условия. Синтаксис этой конструкции выглядит следующим образом:

IF(condition, value_if_true, value_if_false)

Где condition - условие, которое нужно проверить, value_if_true - значение, которое будет использовано, если условие верно, и value_if_false - значение, которое будет использовано, если условие неверно.

Например, давайте предположим, что у нас есть таблица "users", которая содержит информацию о пользователях:

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  age INT,
  email VARCHAR(100)
);

Мы хотим вывести информацию о каждом пользователе в зависимости от их возраста. Если возраст пользователя меньше 18 лет, мы хотим вывести сообщение "Несовершеннолетний", в противном случае мы хотим вывести их имя и возраст.

SELECT 
  name, 
  IF(age < 18, 'Несовершеннолетний', CONCAT(age, ' лет')) AS age_info
FROM users;

Этот запрос выбирает имя пользователя и, если его возраст меньше 18 лет, возвращает "Несовершеннолетний", в противном случае возвращает их возраст, присоединяя к нему слово "лет".

Также, в MySQL, есть возможность использования условных выражений синтаксис else if, чтобы проверить несколько условий. Ниже показан пример использования else if для проверки возрастных групп пользователей:

SELECT 
  name, 
  IF(age < 18, 'Несовершеннолетний', 
    IF(age >= 18 AND age < 25, 'Молодой', 
      IF(age >= 25 AND age < 40, 'Средний возраст', 
        'Старше 40'))) AS age_group
FROM users;

В этом примере, мы проверяем возраст пользователя и возвращаем соответствующую возрастную группу. Если возраст меньше 18, пользователь будет отнесен к группе "Несовершеннолетний", если возраст от 18 до 25 - к группе "Молодой", если возраст от 25 до 40 - к группе "Средний возраст", в противном случае - к группе "Старше 40".

В обоих примерах использования if-else в MySQL, выражение IF возвращает определенное значение в зависимости от условия, что позволяет нам гибко управлять логикой выполнения запросов и выводить различную информацию в зависимости от этих условий.