Учебное пособие Санкт-Петербург «бхв-петербург»


SELECT max( total_amount ) FROM bookings



Pdf көрінісі
бет158/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   154   155   156   157   158   159   160   161   ...   256
sql osnovi yazika

SELECT max( total_amount ) FROM bookings;
выдаст значение
max
------------
1204500.00
(1 строка)
Таким образом, после (− 2)-й итерации во временной области остается всего
две строки, после (n−1)-й итерации во временной области остается только одна
строка.
Заключительная итерация уже не добавляет строк в результирующую таблицу,
поскольку единственная строка, поданная на вход команде SELECT, будет от-
клонена условием WHERE. Работа алгоритма завершается.
Задание 1.
Модифицируйте запрос, добавив в него столбец level (можно на-
звать его и iteration). Этот столбец должен содержать номер текущей итера-
ции, поэтому нужно увеличивать его значение на единицу на каждом шаге. Не
забудьте задать начальное значение для добавленного столбца в предложении
VALUES.
Задание 2.
Для завершения экспериментов замените UNION ALL на UNION и
выполните запрос. Сравните этот результат с предыдущим, когда мы исполь-
зовали UNION ALL.
202


Контрольные вопросы и задания
20.* В тексте главы есть такой запрос, вычисляющий распределение сумм брониро-
ваний по диапазонам в 100 тысяч рублей:
WITH RECURSIVE ranges ( min_sum, max_sum )
AS (
VALUES( 0, 100000 )
UNION ALL
SELECT min_sum + 100000, max_sum + 100000
FROM ranges
WHERE max_sum < ( SELECT max( total_amount ) FROM bookings )
)
SELECT r.min_sum,
r.max_sum,
count( b.* )
FROM bookings b
RIGHT OUTER JOIN ranges r
ON b.total_amount >= r.min_sum
AND b.total_amount < r.max_sum
GROUP BY r.min_sum, r.max_sum
ORDER BY r.min_sum;
Как вы думаете, почему функция count получает в качестве параметра выра-
жение b.*, а не просто *? Что изменится, если оставить только *, и почему?
21. В тексте главы был приведен запрос, выводящий список городов, в которые нет
рейсов из Москвы.


Достарыңызбен бөлісу:
1   ...   154   155   156   157   158   159   160   161   ...   256




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

    Басты бет