SQL: функции управления
Оператор IF IF(предикат1, предикат2, предикат3) Если истинен придикат1, то оператор вернет придикат2, иначе – предикат 3
Вывести список продуктов и их цены. При этом, если цена не задана, то вывести строку ‘Нет в наличии’ SELECT p_name, IF( p_price IS NULL , 'Нет в наличии', CAST(p_price AS CHAR(15))) price FROM Products
Оператор CASE WHEN <предикат 1> THEN <возвращаемое значение 1> … WHEN <предикат N> THEN <возвращаемое значение N> [ELSE <возвращаемое значение>] END
Вывести список продуктов и их цены. При этом, если цена не задана, то вывести строку ‘Нет в наличии’ SELECT p_name, CASE WHEN p_price IS NULL THEN 'Нет в наличии' ELSE CAST(p_price AS CHAR(15)) END price FROM Products
Оператор CASE <проверяемое выражение> WHEN <сравниваемое выражение 1> THEN <возвращаемое значение 1> … WHEN <сравниваемое выражение N> THEN <возвращаемое значение N> [ELSE <возвращаемое значение>] END
Вывести список продуктов и их цены с комментариями: самый дешевый, самый дорогой, средняя цена SELECT p_name, p_price, CASE p_price WHEN (SELECT MAX( p_price ) FROM Product) THEN 'Самый дорогой' WHEN (SELECT MIN( p_price ) FROM Product) THEN 'Самый дешевый' ELSE 'Средняя цена‘ END comment FROM Product
Остальные функции http: //www. mysql. ru/docs/mysql-man-4. 0 ru/reference. html#comparison-operators
Задания 1. Создайте запрос, который выводит название продуктов и код категории. Если категория у данного продукта не задана, то выводит фразу ‘Категория не определена’. 2. Создайте запрос, который выводит имя, фамилию пользователей, а также статус по возрасту: до 30 лет – молодой, 31 -55 – средних лет, от 56 и старше - пожилой