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



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

SELECT count( * )
FROM ( SELECT DISTINCT city FROM airports ) AS a1
JOIN ( SELECT DISTINCT city FROM airports ) AS a2
ON a1.city <> a2.city;
204


Контрольные вопросы и задания
count
-------
10100
(1 строка)
Задание.
Перепишите этот запрос с общим табличным выражением.
24. В тексте главы мы рассмотрели использование подзапросов в предикатах
EXISTS и IN. Существуют также предикаты многократного сравнения ANY и
ALL. Они представлены в документации в разделе 9.22 «Выражения подзапро-
сов». Самостоятельно ознакомьтесь с этими предикатами и напишите несколь-
ко запросов с их применением.
Предикаты ANY и ALL имеют некоторую связь с предикатом IN. В частности,
использование IN эквивалентно использованию конструкции = ANY, а исполь-
зование NOT IN эквивалентно использованию конструкции <> ALL.
Пример двух эквивалентных запросов, выбирающих аэропорты в часовых поя-
сах Asia/Novokuznetsk и Asia/Krasnoyarsk:
SELECT * FROM airports
WHERE timezone IN ( 'Asia/Novokuznetsk', 'Asia/Krasnoyarsk' );
SELECT * FROM airports
WHERE timezone = ANY (
VALUES ( 'Asia/Novokuznetsk' ), ( 'Asia/Krasnoyarsk' )
);
Еще один пример. В тексте главы мы рассматривали запрос, подсчитывающий
количество маршрутов, проложенных из самых восточных аэропортов.
SELECT departure_city, count( * )
FROM routes
GROUP BY departure_city
HAVING departure_city IN (
SELECT city
FROM airports
WHERE longitude > 150
)
ORDER BY count DESC;
В этом запросе можно заменить IN на ANY таким образом:
HAVING departure_city = ANY ( ... )
205


Глава 6. Запросы
25.* При планировании новых маршрутов и оценке экономической эффективности
уже существующих может потребоваться информация о том, какова усреднен-
ная степень заполнения самолетов на всех направлениях.
Будем учитывать только уже прибывшие рейсы.


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




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

    Басты бет