Логотип schoolsw3.com
Учебники Справочники Упражнения КАК? Меню
Создать
Редактор Поддержка Форум

×
Учебники
Справочники
Упражнения
Пожертвовать Обновление Реклама Видео Магазин

SQL Учебник

SQL Главная SQL Введение SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL Значения SQL UPDATE SQL DELETE SQL SELECT TOP SQL Агрегатные функции SQL MIN() и MAX() SQL COUNT SQL SUM SQL AVG SQL LIKE SQL Подстановочные знаки SQL IN SQL BETWEEN SQL ПСЕВДОНИМЫ SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL SELF JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY и ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL ФУНКЦИИ NULL SQL ХРАНИМАЯ SQL КОММЕНТАРИИ SQL ОПЕРАТОРЫ

SQL БАЗА ДАННЫХ

SQL СОЗДАТЬ БД SQL ОТКИНУТЬ БД SQL РЕЗЕРВНАЯ БД SQL СОЗДАТЬ ТАБЛИЦУ SQL ОТКИНУТЬ ТАБЛИЦУ SQL ИЗМЕНИТЬ ТАБЛИЦУ SQL ОГРАНИЧЕНИЯ SQL NOT NULL SQL UNIQU SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK SQL DEFAULT SQL CREATE INDEX SQL AUTO INCREMENT SQL ДАТЫ SQL CREATE VIEW SQL ИНЪЕКЦИЯ SQL ХОСТИНГ SQL ТИПЫ ДАННЫХ

SQL Справочник

SQL Ключевые слова MySQL Функции SQL Server функции MS Access функции SQL Краткий справочник

SQL Примеры

SQL Примеры SQL Редактор SQL Викторина SQL Упражнения

SQL CASE



Инструкция CASE

Инструкция CASE проходит через условия и возвращает значение, когда выполняется первое условие (например, инструкция IF-THEN-ELSE). Таким образом , как только условие истинно, оно прекратит чтение и вернет результат. Если никакие условия не являются истинными, он возвращает значение в предложении ELSE.

Если нет никакой другой части и никакие условия не истинны, он возвращает NULL.

Синтаксис CASE

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Демо база данных

Ниже приведен выбор из таблицы "OrderDetails" в образце базы данных Northwind:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40


Примеры SQL CASE

Следующий SQL проходит через условия и возвращает значение при выполнении первого условия:

Пример

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN "Количество больше чем 30"
    WHEN Quantity = 30 THEN "Количество составляет 30"
    ELSE "Количество до 30"
END AS QuantityText
FROM OrderDetails;
Попробуйте сами »

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

Пример

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);
Попробуйте сами »