Глава 6. Запросы
SELECT city
FROM airports
WHERE city <> 'Москва'
?
SELECT arrival_city
FROM routes
WHERE departure_city = 'Москва'
ORDER BY city;
22. В тексте главы мы рассматривали такой запрос: получить перечень аэропортов
в тех городах, в которых больше одного аэропорта.
SELECT aa.city, aa.airport_code, aa.airport_name
FROM (
SELECT city, count( * )
FROM airports
GROUP BY city
HAVING count( * ) > 1
) AS a
JOIN airports AS aa ON a.city = aa.city
ORDER BY aa.city, aa.airport_name;
Как вы думаете, обязательно ли наличие функции count в подзапросе в пред-
ложении SELECT или можно написать просто
SELECT city FROM airports
Сначала попробуйте дать ответ теоретически, а потом проверьте вашу гипотезу
на компьютере.
23. Предположим, что департамент развития нашей авиакомпании задался вопро-
сом: каким будет общее число различных маршрутов, которые теоретически
можно проложить между всеми городами?
Если в каком-то городе имеется более одного аэропорта, то это учитывать не
будем, т. е. маршрутом будем считать путь между
городами, а не между
аэро-
портами
. Здесь мы используем соединение таблицы с самой собой на основе
неравенства значений атрибутов.
Достарыңызбен бөлісу: