SQL код скопирован в буфер обмена
Отточите свои навыки SQL с помощью наших интерактивных упражнений!
Практикуйте широкий спектр SQL-задач, от базовых запросов до сложных техник. Получайте мгновенную обратную связь на свои решения, чтобы учиться на ошибках и совершенствовать свои навыки. Увеличьте свою уверенность для собеседований и реальных приложений SQL.
Задание  31:
Получите список пассажиров купивших билеты на рейс PG0548 вылетающий 16 августа 2017 года. 
Выведите таблицу с полями book_ref, ticket_no, passenger_name, fare_conditions и phone.
В начале таблицы выведите пассажиров бизнес-класса затем остальных в алфавитном порядке их имён.

Напишите ваш запрос в поле ниже и нажмите кнопку "Проверить!"

Для написания ответа используйте синтаксис PostgreSQL. Описания таблиц приведены в правой панели.

Откройте для себя более 290 уникальных заданий.

Войдите, чтобы сохранить свой прогресс.

База данных Bookings (PostgreSQL)

Предметной областью этой базы данных являются рейсы авиакомпаний через различные аэропорты.

ER диаграмма базы данных Bookings

База данных Bookings содержит 8 таблиц:

  • aircrafts_data - таблица самолетов.
  • airports_data - таблица аэропортов.
  • boarding_passes - таблица посадочных талонов.
  • bookings - таблица бронирований.
  • flights - таблица рейсов.
  • seats - таблица мест в самолетах.
  • ticket_flights - таблица связей билетов с рейсами.
  • tickets - таблица билетов.

Таблица aircrafts_data

Колонки:
  • aircraft_code – Уникальный код для каждого самолета.
  • model — Название модели самолета на английском и русском языках в формате JSON.
  • range – Дальность полета самолета в километрах.
aircraft_codemodelrange
1773{"en": "Boeing 777-300", "ru": "Боинг 777-300"}11100
Индексы:
  • PRIMARY KEY, btree (aircraft_code)

Таблица airports_data

Колонки:
  • airport_code – Уникальный код для каждого аэропорта.
  • airport_name — Название аэропорта на английском и русском языках в формате JSON.
  • city — Город аэропорта на английском и русском языках в формате JSON.
  • coordinates – Координаты аэропорта в виде POINT(долгота, широта).
  • timezone – Название часового пояса аэропорта.
airport_codeairport_namecitycoordinatestimezone
1YKS{"en": "Yakutsk Airport", "ru": "Якутск"}{"en": "Yakutsk", "ru": "Якутск"}(129.77099609375,62.0932998657227)Asia/Yakutsk
Индексы:
  • PRIMARY KEY, btree (airport_code)

Таблица boarding_passes

Колонки:
  • ticket_no - Номер билета.
  • flight_id - Идентификатор рейса.
  • boarding_no - Номер посадочного талона.
  • seat_no - Номер места.
ticket_noflight_idboarding_noseat_no
100054352123513062512D
Индексы:
  • PRIMARY KEY, btree (ticket_no, flight_id)
  • UNIQUE CONSTRAINT, btree (flight_id, boarding_no)
  • UNIQUE CONSTRAINT, btree (flight_id, seat_no)
Ограничения внешнего ключа:
  • FOREIGN KEY (ticket_no, flight_id) REFERENCES ticket_flights(ticket_no, flight_id)

Таблица bookings

Колонки:
  • book_ref – Номер бронирования.
  • book_date – Дата бронирования.
  • total_amount – Общая стоимость бронирования.
book_refbook_datetotal_amount
100000F2017-07-05 00:12:00+00265700.00
Индексы:
  • PRIMARY KEY, btree (book_ref)

Таблица flights

Колонки:
  • flight_id – Идентификатор рейса.
  • flight_no – Номер рейса.
  • scheduled_departure – Запланированное время отправления.
  • scheduled_arrival – Запланированное время прибытия.
  • departure_airport – Аэропорт вылета.
  • arrival_airport – Аэропорт прибытия.
  • status – Статус рейса.
  • aircraft_code – Код самолета, IATA.
  • actual_departure – Фактическое время отправления.
  • actual_arrival – Фактическое время прибытия.
flight_idflight_noscheduled_departurescheduled_arrivaldeparture_airportarrival_airportstatusaircraft_codeactual_departureactual_arrival
11185PG01342017-09-10 06:50:00+002017-09-10 11:55:00+00DMEBTKScheduled319
Индексы:
  • PRIMARY KEY, btree (flight_id)
  • UNIQUE CONSTRAINT, btree (flight_no, scheduled_departure)

Таблица seats

Колонки:
  • aircraft_code – Код самолета, IATA.
  • seat_no – Номер места.
  • fare_conditions – Класс путешествия.
aircraft_codeseat_nofare_conditions
13192ABusiness
Индексы:
  • PRIMARY KEY, btree (aircraft_code, seat_no)
Ограничения внешнего ключа:
  • FOREIGN KEY (aircraft_code) REFERENCES aircrafts(aircraft_code) ON DELETE CASCADE

Таблица ticket_flights

Колонки:
  • ticket_no – Номер билета.
  • flight_id – Идентификатор рейса.
  • fare_conditions – Класс путешествия.
  • сумма – Стоимость поездки.
ticket_noflight_idfare_conditionsamount
1000543215977630625Business42100.00
Индексы:
  • PRIMARY KEY, btree (ticket_no, flight_id)
Ограничения внешнего ключа:
  • FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
  • FOREIGN KEY (ticket_no) REFERENCES tickets(ticket_no)

Таблица tickets

Колонки:
  • ticket_no – Номер билета.
  • book_ref – Номер бронирования.
  • passenger_id – Идентификатор пассажира.
  • passenger_name – Имя пассажира.
  • contact_data – Контактная информация пассажира.
ticket_nobook_refpassenger_idpassenger_namecontact_data
1000543200098706B0468149 604011VALERIY TIKHONOV{"phone": "+70127117011"}
Индексы:
  • PRIMARY KEY, btree (ticket_no)
Ограничения внешнего ключа:
  • FOREIGN KEY (book_ref) REFERENCES bookings(book_ref)