Изучаем sql



Pdf көрінісі
бет165/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   161   162   163   164   165   166   167   168   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

> UNION ALL
> SELECT 'Average Joes' name, 5000 low_limit, 9999.99 high_limit
> UNION ALL
> SELECT 'Heavy Hitters' name, 10000 low_limit, 9999999.99 high_limit;
++++
| name | low_limit | high_limit |
++++
| Small Fry | 0 | 4999.99 |
| Average Joes | 5000 | 9999.99 |
| Heavy Hitters | 10000 | 9999999.99 |
++++
3 rows in set (0.00 sec)
Здесь с помощью оператора для работы с наборами 
union
all
(объеди
нить все) результаты трех отдельных запросов сводятся в один резуль
тирующий набор. Каждый запрос получает три литерала. Результаты
этих трех запросов объединяются для формирования таблицы, состоя
щей из трех строк и трех столбцов. Теперь у нас есть запрос для форми
рования необходимых групп. Его можно поместить в блок 
from
другого
запроса для формирования групп клиентов:
mysql> 
SELECT groups.name, COUNT(*) num_customers
> FROM
> (SELECT SUM(a.avail_balance) cust_balance
Группа
Нижний предел 
(долларов)
Верхний предел 
(долларов)
Small Fry 
(мелкота)
0
4 999,99 
Average Joes
(середняки)
5 000
9 999,99
Heavy Hitters 
(тяжеловесы)
10 000
9 999 999,99


186
Глава 9. Подзапросы
> FROM account a INNER JOIN product p
> ON a.product_cd = p.product_cd
> WHERE p.product_type_cd = 'ACCOUNT'
> GROUP BY a.cust_id) cust_rollup INNER JOIN
> (SELECT 'Small Fry' name, 0 low_limit, 4999.99 high_limit
> UNION ALL
> SELECT 'Average Joes' name, 5000 low_limit,
> 9999.99 high_limit
> UNION ALL
> SELECT 'Heavy Hitters' name, 10000 low_limit,


Достарыңызбен бөлісу:
1   ...   161   162   163   164   165   166   167   168   ...   261




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

    Басты бет