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



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

SELECT *
FROM flights_v
WHERE departure_city = 'Кемерово'
AND arrival_city = 'Москва'
AND actual_arrival < bookings.now();
Выберем для дальнейшей работы рейс, у которого значения атрибутов
flight_id — 27584, aircraft_code — SU9.
Получим список пассажиров этого рейса с местами, которые им были назначе-
ны в салоне самолета.
SELECT t.passenger_name, b.seat_no
FROM (
ticket_flights tf
JOIN tickets t ON tf.ticket_no = t.ticket_no
)
JOIN boarding_passes b
ON tf.ticket_no = b.ticket_no
AND tf.flight_id = b.flight_id
WHERE tf.flight_id = 27584
ORDER BY t.passenger_name;
207


Глава 6. Запросы
passenger_name
| seat_no
---------------------+---------
ALEKSANDR ABRAMOV
| 1A
ALEKSANDR GRIGOREV | 5C
ALEKSANDR SERGEEV
| 6F
ALEKSEY FEDOROV
| 11D
ALEKSEY MELNIKOV
| 18A
...
VLADIMIR POPOV
| 11A
YAROSLAV KUZMIN
| 18F
YURIY ZAKHAROV
| 10F
(44 строки)
Отсортируем строки по фамилиям пассажиров:
SELECT t.passenger_name,
substr(
t.passenger_name,
strpos( t.passenger_name, ' ' ) + 1
) AS lastname,
left(
t.passenger_name,
strpos( t.passenger_name, ' ' ) - 1
) AS firstname,
b.seat_no
FROM (
ticket_flights tf
JOIN tickets t ON tf.ticket_no = t.ticket_no
)
JOIN boarding_passes b
ON tf.ticket_no = b.ticket_no
AND tf.flight_id = b.flight_id
WHERE tf.flight_id = 27584
ORDER BY 2, 3;
passenger_name
| lastname | firstname | seat_no
---------------------+-----------+-----------+---------
ALEKSANDR ABRAMOV
| ABRAMOV
| ALEKSANDR | 1A
NIKITA ANDREEV
| ANDREEV
| NIKITA
| 6D
ANTONINA ANISIMOVA | ANISIMOVA | ANTONINA | 11F
...
YURIY ZAKHAROV
| ZAKHAROV | YURIY
| 10F
ELENA ZOTOVA
| ZOTOVA
| ELENA
| 20E
(44 строки)
208


Контрольные вопросы и задания
Получим список мест в салоне самолета и пассажиров, которые сидели на этих
местах. При этом незанятые места также должны быть выведены (поэтому ис-
пользуем левое внешнее соединение LEFT OUTER JOIN).


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




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

    Басты бет