Практикум по дисциплине «Базы данных» Армавир, 2011 Печатается по решению редакционно-издательского совета



бет11/21
Дата04.10.2022
өлшемі1 Mb.
#41367
түріПрактикум
1   ...   7   8   9   10   11   12   13   14   ...   21
    Бұл бет үшін навигация:
  • SELECT
AS Код_региона
FROM `region` 


Вторая форма оператора CASE предполагает его использование при поиске в таблице тех записей, которые удовлетворяют определенному условию:

CASE
WHEN условие1 THEN результат1
WHEN условие2 THEN результат2
….
WHEN условиеN THEN результатN
ELSE результатX
END

Оператор CASE проверяет, истинно ли условие1 для первой записи в наборе, определенном оператором WHERE, или во всей таблице, если оператор WHERE отсутствует. Если да, то CASE возвращает значение результат1. В противном случае для данной записи проверяется условие2 и т.д. Если ни одно из условий не выполняется, то возвращается значение результатX, указанное после ключевого слова ELSE.


Ключевое слово ELSE не является обязательным. Если оно отсутствует и ни одно из значений, подлежащих сравнению, не равно проверяемому значению, то возвращается значение NULL.



  1. Вывести фамилии, имена студентов и номера телефонов. Вместо значения NULL вывести фразу «Нет телефона»

SELECT `fam`, `ima`,
CASE WHEN `telephone` IS NULL THEN 'НЕТ ТЕЛЕФОНА'
ELSE `telephone`
END
AS Номер_телефона
FROM `dannie`

Обратите внимание, что вместо первой формы оператора CASE всегда можно использовать вторую.



CASE
WHEN проверяемое_значение=значение1 THEN результат1
WHEN проверяемое_значение=значение2 THEN результат2
….
WHEN проверяемое_значение=значениеN THEN результатN
ELSE результатX
END




  1. Вывести ФИО родителей и номера их телефонов с указанием мобильного оператора (8918…, 8919… - МТС, 8928… - МЕГАФОН, 8905…, 8906…, 8909… – БИЛАЙН)



Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   21




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет