Глава 6. Запросы
Здесь мы с помощью предложения VALUES специально создали виртуальную
таблицу из трех строк, хотя для получения требуемого результата достаточно
только одной строки (0, 100000). Еще важно то, что предложение UNION ALL не
удаляет строки-дубликаты, поэтому мы можем видеть весь рекурсивный про-
цесс порождения новых строк.
При рекурсивном выполнении запроса
SELECT min_sum + 100000, max_sum + 100000
FROM ranges
WHERE max_sum < ( SELECT max( total_amount ) FROM bookings )
каждый раз выполняется проверка в условии WHERE. И на (
n − 2)-й итерации это
условие отсеивает одну строку, т. к. после (
n − 3)-й итерации значение атрибута
max_sum в третьей строке было равно 1 300 000.
Ведь запрос
Достарыңызбен бөлісу: