Изучаем sql



Pdf көрінісі
бет248/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   244   245   246   247   248   249   250   251   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Глава 11
11.1
Перепишите следующий запрос, использующий простое выражение
case
, таким образом, чтобы получить аналогичные результаты с помо
щью выражения 
case
с перебором вариантов. Попытайтесь свести к ми
нимуму количество блоков 
when
.
SELECT emp_id,
CASE title
WHEN 'President' THEN 'Management'
WHEN 'Vice President' THEN 'Management'
WHEN 'Treasurer' THEN 'Management'
WHEN 'Loan Manager' THEN 'Management'
WHEN 'Operations Manager' THEN 'Operations'


288
Приложение C
WHEN 'Head Teller' THEN 'Operations'
WHEN 'Teller' THEN 'Operations'
ELSE 'Unknown'
END
FROM employee;
SELECT emp_id,
CASE
WHEN title LIKE '%President' OR title = 'Loan Manager'
OR title = 'Treasurer'
THEN 'Management'
WHEN title LIKE '%Teller' OR title = 'Operations Manager'
THEN 'Operations'
ELSE 'Unknown'
END
FROM employee;
11.2
Перепишите следующий запрос так, чтобы результирующий набор со
держал всего одну строку и четыре столбца (по одному для каждого от
деления). Назовите столбцы 
branch_1

branch_2
и т. д.
mysql> 
_SUM(CASE_WHEN_open_branch_id_=_1_THEN_1_ELSE_0_END)_branch_1,_>_SUM(CASE_WHEN_open_branch_id_=_2_THEN_1_ELSE_0_END)_branch_2'>SELECT_open_branch_id,_COUNT(*)__>_FROM_account__>_GROUP_BY_open_branch_id;'>SELECT open_branch_id, COUNT(*)
> FROM account
> GROUP BY open_branch_id;
+++
| open_branch_id | COUNT(*) |
+++
| 1 | 8 |
| 2 | 7 |
| 3 | 3 |
| 4 | 6 |
+++
4 rows in set (0.00 sec)
mysql> 
SELECT
>
SUM(CASE WHEN open_branch_id = 1 THEN 1 ELSE 0 END) branch_1,
>
SUM(CASE WHEN open_branch_id = 2 THEN 1 ELSE 0 END) branch_2,
>
SUM(CASE WHEN open_branch_id = 3 THEN 1 ELSE 0 END) branch_3,
>
SUM(CASE WHEN open_branch_id = 4 THEN 1 ELSE 0 END) branch_4

FROM account;
+++++
| branch_1 | branch_2 | branch_3 | branch_4 |
+++++
| 8 | 7 | 3 | 6 |
+++++
1 row in set (0.02 sec)




Достарыңызбен бөлісу:
1   ...   244   245   246   247   248   249   250   251   ...   261




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

    Басты бет