Функция case when SQL: синтаксис, примеры использования и рекомендации

Функция CASE WHEN в SQL используется для выполнения условного оператора if-then-else. Эта функция позволяет выполнять различные операции в зависимости от выполнения заданного условия.

Пример использования функции CASE WHEN:

SELECT column_name,
       CASE 
           WHEN condition1 THEN result1 
           WHEN condition2 THEN result2 
           ELSE result3 
       END AS alias_name
FROM table_name;

В примере выше, мы выбираем столбец с именем column_name. Затем, используя функцию CASE WHEN, мы проверяем заданные условия condition1, condition2 и т.д. Если условие выполняется, то используется соответствующий результат result1, result2 и т.д. Если ни одно из условий не выполняется, используется результат result3. Результат функции CASE WHEN можно указать с помощью ключевого слова AS и задать имя псевдонима alias_name.

Детальный ответ

Привет, студент! Добро пожаловать в увлекательный мир баз данных и SQL! Сегодня мы поговорим о функции CASE WHEN в SQL.

Функция CASE WHEN в SQL является мощным инструментом для выполнения условных операций в запросах к базам данных. Она позволяет нам выполнить различные действия в зависимости от значения определенного столбца или выражения.

Давайте рассмотрим простой пример, чтобы лучше понять, как работает эта функция. Предположим, у нас есть таблица 'Students', содержащая информацию о студентах:


  CREATE TABLE Students (
    StudentID INT,
    Name VARCHAR(100),
    Age INT,
    Grade CHAR(1)
  );

Теперь мы хотим создать новый столбец 'Status', который будет отображать статус студента в зависимости от его оценки. Для этого мы можем использовать функцию CASE WHEN.


  SELECT StudentID, Name, Grade,
    CASE
      WHEN Grade = 'A' THEN 'Excellent'
      WHEN Grade = 'B' THEN 'Good'
      WHEN Grade = 'C' THEN 'Average'
      WHEN Grade = 'D' THEN 'Below Average'
      ELSE 'Fail'
    END AS Status
  FROM Students;

В этом примере мы используем функцию CASE WHEN для проверки значения столбца 'Grade'. Если значение равно 'A', мы возвращаем 'Отлично', если 'B' - 'Хорошо', если 'C' - 'Средне', если 'D' - 'Ниже среднего', в противном случае - 'Неудача'.

Примечательно, что функция CASE WHEN также может использоваться в качестве выражения, не только при выборке данных, но и при обновлении или вставке значений в таблицу.

Кроме того, мы можем комбинировать несколько проверок внутри функции CASE WHEN для того, чтобы выполнять более сложные условия. Давайте рассмотрим пример:


  UPDATE Students
  SET Grade = 
    CASE
      WHEN Age >= 18 AND Age <= 21 THEN 'A'
      WHEN Age > 21 THEN 'B'
      ELSE 'C'
    END;

В этом примере мы используем функцию CASE WHEN для обновления значения столбца 'Grade' в зависимости от возраста студента. Если возраст находится в диапазоне от 18 до 21, мы устанавливаем оценку 'A'. Если возраст больше 21, устанавливаем оценку 'B', в противном случае - 'C'.

Теперь ты знаком с функцией CASE WHEN в SQL! Она действительно мощный инструмент, который поможет тебе выполнять условные операции и делать более сложные выборки данных. Поставь себе цель попрактиковаться с этой функцией и экспериментировать с различными условиями. Удачи в твоем путешествии по миру баз данных!

Видео по теме

Оператор CASE SQL. Примеры CASE WHEN

Урок #17 - CASE | SQL для начинающих

Условный оператор CASE в SQL

Похожие статьи:

Как указать диапазон значений в SQL: простое объяснение с примерами

Какой оператор следует использовать при поиске по шаблону в языке SQL: советы от профессионального преподавателя баз данных и веб-разработки

Как создать представление в SQL Server: подробное руководство для начинающих

Функция case when SQL: синтаксис, примеры использования и рекомендации

Первичный и внешний ключ в SQL: все, что вам нужно знать

Что верно о следующем SQL выражении create table persons as select name surname from person