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



Download 1,88 Mb.
Pdf ko'rish
bet130/256
Sana21.02.2022
Hajmi1,88 Mb.
#24505
TuriУчебное пособие
1   ...   126   127   128   129   130   131   132   133   ...   256
Bog'liq
morgunov e p postgresql osnovy yazyka sql

FROM bookings b
RIGHT OUTER JOIN
( VALUES (
0, 100000 ), ( 100000, 200000 ),
( 200000, 300000 ), ( 300000, 400000 ),
( 400000, 500000 ), ( 500000, 600000 ),
( 600000, 700000 ), ( 700000, 800000 ),
( 800000, 900000 ), ( 900000, 1000000 ),
( 1000000, 1100000 ), ( 1100000, 1200000 ),
( 1200000, 1300000 )
) AS r ( min_sum, max_sum )
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;
В этом запросе мы использовали внешнее соединение. Сделано это для того, чтобы
в случаях, когда в каком-то диапазоне не окажется ни одного бронирования, резуль-
тирующая строка выборки все же была бы сформирована. А правое соединение было
выбрано только потому, что в качестве первой, базовой, таблицы мы выбрали таб-
лицу «Бронирования» (bookings), но именно в ней может не оказаться ни одной
строки для соединения с какой-либо строкой виртуальной таблицы. А все строки вир-
туальной таблицы, стоящей справа от предложения RIGHT OUTER JOIN, должны быть
обязательно представлены в выборке: это позволит сразу увидеть «пустые» диапазо-
ны, если они будут.
Можно было использовать и левое внешнее соединение, поменяв таблицы местами.
min_sum | max_sum | count
---------+---------+--------
0 | 100000 | 198314
100000 | 200000 | 46943
200000 | 300000 | 11916
300000 | 400000 |
3260
400000 | 500000 |
1357
500000 | 600000 |
681
600000 | 700000 |
222
700000 | 800000 |
55
800000 | 900000 |
24
900000 | 1000000 |
11
1000000 | 1100000 |
4
1100000 | 1200000 |
0
1200000 | 1300000 |
1
(13 строк)
165


Глава 6. Запросы
Обратите внимание, что для диапазона от 1 100 до 1 200 тысяч рублей значение счет-
чика бронирований равно нулю. Если бы мы не использовали внешнее соединение,
то эта строка вообще не попала бы в выборку. Конечно, информация была бы полу-
чена та же самая, но воспринимать ее было бы сложнее.
В команде SELECT предусмотрены средства для выполнения операций с выборками,
как с множествами, а именно:
– UNION для вычисления объединения множеств строк из двух выборок;
– INTERSECT для вычисления пересечения множеств строк из двух выборок;
– EXCEPT для вычисления разности множеств строк из двух выборок.
Запросы должны возвращать одинаковое число столбцов, типы данных у столбцов
также должны совпадать.
Рассмотрим эти операции, используя материализованное представление «Маршру-
ты» (routes).
Начнем с операции объединения множеств строк — UNION. Строка включается
в итоговое множество (выборку), если она присутствует хотя бы в одном из них.
Строки-дубликаты в результирующее множество не включаются. Для их включения
нужно использовать UNION ALL.
Вопрос: в какие города можно улететь либо из Москвы, либо из Санкт-Петербурга?

Download 1,88 Mb.

Do'stlaringiz bilan baham:
1   ...   126   127   128   129   130   131   132   133   ...   256




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish