Código SQL copiado para a área de transferência
Aproveite o poder da prática para dominar o SQL. Nossos exercícios interativos são projetados para solidificar sua compreensão, desde conceitos básicos até técnicas avançadas. Seja você um iniciante em SQL ou um profissional experiente, encontrará desafios adaptados ao seu nível de habilidade. Aumente sua confiança para entrevistas de emprego e aplicações do mundo real por meio da prática consistente.
Tarefa  24:
Para cada aeroporto, encontre a ocupação média dos voos em agosto de 2017 (de acordo com a data real de partida).
Produza o resultado em duas colunas departure_airport - código do aeroporto de partida e average_flights_occupancy - ocupação média do voo em porcentagem, arredondada para duas casas decimais.
Ordene os resultados em ordem decrescente da segunda coluna. Se os valores de ocupação forem iguais, ordene pelo código do aeroporto.

Escreva sua solicitação no campo abaixo e clique no botão "Verificar!"

Para escrever a resposta, use a sintaxe PostgreSQL. As descrições das tabelas estão no painel à direita.

Explore mais de 270 tarefas diversas na nossa plataforma.

Faça login para salvar seu progresso.

Banco de Dados Bookings (PostgreSQL)

A área de assunto deste banco de dados é voos de companhias aéreas através de vários aeroportos.

Diagrama ER do banco de dados Bookings

O Banco de Dados Bookings contém 8 tabelas:

  • aircrafts_data - tabela de aeronaves.
  • airports_data - tabela de aeroportos.
  • boarding_passes - tabela de cartões de embarque.
  • bookings - tabela de reservas.
  • flights - tabela de voos.
  • seats - tabela de assentos de aeronaves.
  • ticket_flights - tabela de relações entre bilhetes e voos.
  • tickets - tabela de bilhetes.
Introdução à Linguagem SQL: Abordagem prática para iniciantes
Introdução à Linguagem SQL: Abordagem prática para iniciantes
Atualmente as empresas estão coletando dados a taxas exponenciais e mesmo assim poucas pessoas sabem como acessá-los de maneira relevante. Se você trabalha em uma empresa ou é profissional de TI, este curto guia prático lhe ensinará como obter e transformar dados com o SQL de maneira significativa. Você dominará rapidamente os aspectos básicos do SQL e aprenderá como criar seus próprios bancos de dados. O autor Thomas Nield fornece exercícios no decorrer de todo o livro para ajudá-lo a praticar em casa suas recém descobertas aptidões no uso do SQL, sem precisar empregar um ambiente de servidor de banco de dados. Além de aprender a usar instruções-chave do SQL para encontrar e manipular seus dados, você descobrirá como projetar e gerenciar eficientemente bancos de dados que atendam às suas necessidades.

Tabela aircrafts_data

Colunas da tabela:
  • aircraft_code - Código único para cada aeronave.
  • model - Nome do modelo da aeronave em inglês e russo no formato JSON.
  • range - Alcance de voo da aeronave em quilômetros.
Índices:
  • CHAVE PRIMÁRIA, btree (aircraft_code)
aircraft_codemodelrange
1773{"en": "Boeing 777-300", "ru": "Боинг 777-300"}11100

Tabela airports_data

Colunas da tabela:
  • airport_code - Código único para cada aeroporto.
  • airport_name - Nome do aeroporto em inglês e russo no formato JSON.
  • city - Cidade do aeroporto em inglês e russo no formato JSON.
  • coordinates - Coordenadas do aeroporto como POINT(longitude, latitude).
  • timezone - Nome do fuso horário do aeroporto.
airport_codeairport_namecitycoordinatestimezone
1YKS{"en": "Yakutsk Airport", "ru": "Якутск"}{"en": "Yakutsk", "ru": "Якутск"}(129.77099609375,62.0932998657227)Asia/Yakutsk
Índices:
  • CHAVE PRIMÁRIA, btree (airport_code)

Tabela boarding_passes

Colunas da tabela:
  • ticket_no - Número do bilhete.
  • flight_id - Identificador do voo.
  • boarding_no - Número do cartão de embarque.
  • seat_no - Número do assento.
ticket_noflight_idboarding_noseat_no
100054352123513062512D
Índices:
  • CHAVE PRIMÁRIA, btree (ticket_no, flight_id)
  • RESTRIÇÃO ÚNICA, btree (flight_id, boarding_no)
  • RESTRIÇÃO ÚNICA, btree (flight_id, seat_no)
Restrições de chave estrangeira:
  • CHAVE ESTRANGEIRA (ticket_no, flight_id) REFERÊNCIAS ticket_flights(ticket_no, flight_id)

Tabela bookings

Colunas da tabela:
  • book_ref - Número da reserva.
  • book_date - Data da reserva.
  • total_amount - Custo total da reserva.
book_refbook_datetotal_amount
100000F2017-07-05 00:12:00+00265700.00
Índices:
  • CHAVE PRIMÁRIA, btree (book_ref)

Tabela flights

Colunas da tabela:
  • flight_id - ID do voo.
  • flight_no - Número do voo.
  • scheduled_departure - Horário programado de partida.
  • scheduled_arrival - Horário programado de chegada.
  • departure_airport - Aeroporto de partida.
  • arrival_airport - Aeroporto de chegada.
  • status - Status do voo.
  • aircraft_code - Código da aeronave, IATA.
  • actual_departure - Horário real de partida.
  • actual_arrival - Horário real de chegada.
flight_id flight_no scheduled_departure scheduled_arrival departure_airport arrival_airport status aircraft_code actual_departure actual_arrival
11185PG01342017-09-10 06:50:00+002017-09-10 11:55:00+00DMEBTKScheduled319
Índices:
  • CHAVE PRIMÁRIA, btree (flight_id)
  • RESTRIÇÃO ÚNICA, btree (flight_no, scheduled_departure)

Tabela seats

Colunas da tabela:
  • aircraft_code - Código da aeronave, IATA.
  • seat_no - Número do assento.
  • fare_conditions - Classe de viagem.
aircraft_codeseat_nofare_conditions
13192ABusiness
Índices:
  • CHAVE PRIMÁRIA, btree (aircraft_code, seat_no)
Restrições de chave estrangeira:
  • CHAVE ESTRANGEIRA (aircraft_code) REFERÊNCIAS aircrafts(aircraft_code) ON DELETE CASCADE

Tabela ticket_flights

Colunas da tabela:
  • ticket_no - Número do bilhete.
  • flight_id - ID do voo.
  • fare_conditions - Classe de viagem.
  • amount - Custo da viagem.
ticket_no flight_id fare_conditions amount
1000543215977630625Business42100.00
Índices:
  • CHAVE PRIMÁRIA, btree (ticket_no, flight_id)
Restrições de chave estrangeira:
  • CHAVE ESTRANGEIRA (flight_id) REFERÊNCIAS flights(flight_id)
  • CHAVE ESTRANGEIRA (ticket_no) REFERÊNCIAS tickets(ticket_no)

Tabela tickets

Colunas da tabela:
  • ticket_no - Número do bilhete.
  • book_ref - Número da reserva.
  • passenger_id - ID do passageiro.
  • passenger_name - Nome do passageiro.
  • contact_data - Informações de contato do passageiro.
ticket_no book_ref passenger_id passenger_name contact_data
1000543200098706B0468149 604011VALERIY TIKHONOV{"phone": "+70127117011"}
Índices:
  • CHAVE PRIMÁRIA, btree (ticket_no)
Restrições de chave estrangeira:
  • CHAVE ESTRANGEIRA (book_ref) REFERÊNCIAS bookings(book_ref)