Case SQL: основы и примеры использования
В SQL выполняются различные операции с данными, и структура, дающая возможность такого выполнения, называется CASE-конструкцией. CASE-конструкция в SQL дает возможность выполнить условное выполнение кода в зависимости от значения определенного столбца или выражения.
CASE-конструкция в SQL обычно содержит несколько блоков WHEN-THEN, а также опциональные блоки ELSE и END. Эти блоки позволяют указать значения, в зависимости от которых будет выполняться определенный код. Вот основной синтаксис CASE-конструкции в SQL:
<pre class="hljs">
CASE
WHEN условие_1 THEN значение_1
WHEN условие_2 THEN значение_2
...
ELSE значениеПоУмолчанию
END
</pre>
Давайте рассмотрим примеры использования CASE-конструкции в SQL.
Пример 1:
Предположим, у нас есть таблица Employees, содержащая информацию о сотрудниках. Допустим, нам нужно создать новый столбец, в котором будет указано, является ли сотрудник старше 30 лет.
<pre class="hljs">
INSERT INTO Employees (Name, Age, IsElderly)
VALUES ('John Doe', 35,
CASE
WHEN Age > 30 THEN 'Yes'
ELSE 'No'
END
);
</pre>
В этом примере, если возраст сотрудника больше 30 лет, значение столбца IsElderly будет 'Yes', иначе - 'No'.
Пример 2:
Предположим, у нас есть таблица Customers, в которой содержится информация о покупателях. Нам нужно создать столбец с их категорией в зависимости от суммы их покупок.
<pre class="hljs">
SELECT Name, TotalPurchase,
CASE
WHEN TotalPurchase > 1000 THEN 'Premium'
WHEN TotalPurchase > 500 THEN 'Gold'
WHEN TotalPurchase > 200 THEN 'Silver'
ELSE 'Regular'
END AS Category
FROM Customers;
</pre>
В этом примере на основе суммы покупок покупателей они распределяются на категории: Premium, Gold, Silver или Regular.
Это лишь некоторые примеры использования CASE-конструкции в SQL. Ее применение может быть разнообразным, и на практике она очень полезна при выполнении условных операций с данными.
Выше представлены базовый синтаксис и примеры использования CASE-конструкции в SQL. Запомните, что CASE-конструкция в SQL позволяет выполнить условный код, основанный на значениях столбцов или выражений в таблицах или запросах. Она открывает широкий спектр возможностей в работе с данными.