Задача:
Напишите вместо пропуска в запросе выражение, которое создаст столбец с категорией цены: 'Дорогой' если > 10000, иначе 'Бюджетный':
SELECT Name, Price, CASE WHEN Price > 10000 THEN 'Дорогой' [ПРОПУСК] 'Бюджетный' END AS PriceCategory FROM Products
Решение:
В SQL для создания условных выражений используется конструкция CASE. Она позволяет задавать различные результаты в зависимости от выполнения определенных условий. Если ни одно из условий WHEN не выполняется, то используется значение, указанное после ключевого слова ELSE.
В данном запросе условие WHEN Price > 10000 THEN 'Дорогой' уже задано. Если это условие не выполняется, то товар должен быть отнесен к категории 'Бюджетный'. Это и есть функция ELSE.
Таким образом, пропущенное выражение будет ELSE.
Полный запрос будет выглядеть так:
SELECT Name, Price, CASE WHEN Price > 10000 THEN 'Дорогой' ELSE 'Бюджетный' END AS PriceCategory FROM Products
Пояснение:
В языке SQL:
SELECT Name, Price, ...: Выбирает столбцыName(название товара) иPrice(цена товара).CASE WHEN Price > 10000 THEN 'Дорогой' ELSE 'Бюджетный' END AS PriceCategory: Это условное выражениеCASE.WHEN Price > 10000 THEN 'Дорогой': Если цена товара (Price) больше 10000, то в новом столбце будет значение 'Дорогой'.ELSE 'Бюджетный': Если предыдущее условие не выполняется (то естьPriceне больше 10000), то в новом столбце будет значение 'Бюджетный'.END: Завершает выражениеCASE.AS PriceCategory: Присваивает новому, вычисляемому столбцу имяPriceCategory.
FROM Products: Указывает, что данные берутся из таблицыProducts.
Этот запрос создает новый столбец PriceCategory, который классифицирует товары как 'Дорогой' или 'Бюджетный' в зависимости от их цены.
