Código SQL copiado para a área de transferência
Aprimore suas habilidades em SQL com nossos exercícios interativos!
Pratique uma ampla gama de tarefas SQL, desde consultas básicas até técnicas avançadas. Receba feedback instantâneo sobre suas soluções, ajudando você a aprender com os erros e melhorar suas habilidades. Aumente sua confiança para entrevistas de emprego e aplicações SQL do mundo real.
Tarefa  51:
Escreva uma consulta SQL para encontrar os três principais clientes com o maior volume total de pagamento no banco de dados Sakila. Exiba na tabela de resultados o primeiro nome, o último nome e o valor total do pagamento dos clientes nas colunas first_name, last_name e total_pay respectivamente. Ordene os resultados por total_pay em ordem decrescente.

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

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

Explore mais de 290 tarefas diversas na nossa plataforma.

Faça login para salvar seu progresso.

Banco de Dados Sakila (MySQL)

Sakila é um banco de dados de exemplo desenvolvido pelo MySQL, especificamente projetado para ensinar e demonstrar as capacidades dos sistemas de gerenciamento de banco de dados (SGBD) baseados no modelo relacional.

Diagrama ER do Banco de Dados Sakila

O banco de dados Sakila contém 15 tabelas principais descrevendo vários aspectos de uma empresa de aluguel de DVDs.

Abaixo está uma lista dessas tabelas:

  • actor - tabela de atores.
  • address - tabela de endereços de clientes e funcionários
  • category - tabela de categorias de filmes.
  • city - tabela de cidades.
  • country - tabela de países.
  • customer - tabela de clientes no banco de dados Sakila.
  • film - tabela de filmes no banco de dados Sakila.
  • film_actor - tabela de relação entre atores e filmes.
  • film_category - tabela de relação entre filmes e categorias.
  • inventory - tabela de itens no banco de dados Sakila.
  • language - tabela de idiomas dos filmes.
  • payment - tabela de pagamentos dos clientes.
  • rental - tabela de aluguéis dos clientes.
  • staff - tabela de funcionários da empresa.
  • store - tabela de lojas da empresa.
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 actor

Colunas da tabela:
  • actor_id - Identificador único para cada ator.
  • first_name - Primeiro nome do ator.
  • last_name - Sobrenome do ator.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
actor_id first_name last_name last_update
1 John Doe 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (actor_id)

Tabela address

Colunas da tabela:
  • address_id - Identificador único para cada endereço.
  • address - Endereço da rua.
  • address2 - Endereço adicional.
  • district - Distrito ou região.
  • city_id - Chave estrangeira referenciando a tabela city.
  • postal_code - Código postal.
  • phone - Número de telefone.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
address_id address address2 district city_id postal_code phone last_update
1 123 Rua Principal Apto 4 Centro 1 12345 123-456-7890 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (address_id)

Tabela category

Colunas da tabela:
  • category_id - Identificador único para cada categoria.
  • name - Nome da categoria.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
category_id name last_update
1 Ação 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (category_id)

Tabela city

Colunas da tabela:
  • city_id - Identificador único para cada cidade.
  • city - Nome da cidade.
  • country_id - Chave estrangeira referenciando a tabela country.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
city_id city country_id last_update
1 Metrópole 1 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (city_id)

Tabela country

Colunas da tabela:
  • country_id - Identificador único para cada país.
  • country - Nome do país.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
country_id country last_update
1 Estados Unidos 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (country_id)

Tabela customer

Colunas da tabela:
  • customer_id - Identificador único para cada cliente.
  • store_id - Chave estrangeira referenciando a tabela store.
  • first_name - Primeiro nome do cliente.
  • last_name - Sobrenome do cliente.
  • email - Endereço de e-mail do cliente.
  • address_id - Chave estrangeira referenciando a tabela address.
  • active - Indica se o cliente está ativo.
  • create_date - Data e hora indicando quando o cliente foi adicionado ao banco de dados.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
customer_id store_id first_name last_name email address_id active create_date last_update
1 1 João Silva joao.silva@exemplo.com 1 true 2023-01-01 12:00:00 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (customer_id)

Tabela film

Colunas da tabela:
  • film_id - Identificador único para cada filme.
  • title - O título do filme.
  • description - Uma breve descrição ou resumo do enredo do filme.
  • release_year - O ano em que o filme foi lançado.
  • language_id - Chave estrangeira referenciando a tabela language; identifica o idioma do filme.
  • original_language_id - Uma chave estrangeira apontando para a tabela language; identifica o idioma original do filme. Usado quando um filme foi dublado em um novo idioma.
  • rental_duration - A duração do período de aluguel, em dias.
  • rental_rate - O custo para alugar o filme pelo período especificado na coluna rental_duration.
  • length - Duração do filme, em minutos.
  • replacement_cost - O valor cobrado ao cliente se o filme não for devolvido ou for devolvido danificado.
  • rating - A classificação atribuída ao filme. Pode ser uma das seguintes: G, PG, PG-13, R ou NC-17.
  • special_features - Lista quais recursos especiais comuns estão incluídos no DVD. Pode ser zero ou mais de: Trailers, Comentários, Cenas Deletadas, Por Trás das Cenas.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
film_id title description release_year language_id original_language_id rental_duration rental_rate length replacement_cost rating special_features last_update
1 Título do Filme Uma breve descrição do filme. 2000 1 2 5 4.99 120 19.99 PG-13 Trailers, Comentários 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (film_id)

Tabela film_actor

Colunas da tabela:
  • actor_id - Identificador único para ator.
  • film_id - Identificador único para filme.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
actor_id film_id last_update
1 1 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (actor_id, film_id)

Tabela film_category

Colunas da tabela:
  • film_id - Identificador único para cada filme.
  • category_id - Identificador único para cada categoria.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
film_id category_id last_update
1 1 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (film_id, category_id)

Tabela inventory

Colunas da tabela:
  • inventory_id - Identificador único para cada item do inventário.
  • film_id - Identificador único para cada filme no inventário.
  • store_id - Identificador único para a loja onde o item do inventário está localizado.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
inventory_id film_id store_id last_update
1 23 2 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (inventory_id)

Tabela language

Colunas da tabela:
  • language_id - Identificador único para cada idioma.
  • name - Nome do idioma.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
language_id name last_update
1 Inglês 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (language_id)

Tabela payment

Colunas da tabela:
  • payment_id - Identificador único para cada pagamento.
  • customer_id - Chave estrangeira referenciando a tabela customer.
  • staff_id - Chave estrangeira referenciando a tabela staff.
  • rental_id - Chave estrangeira referenciando a tabela rental.
  • amount - Valor do pagamento.
  • payment_date - Data do pagamento.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
payment_id customer_id staff_id rental_id amount payment_date last_update
1 1 1 1 4.99 2023-01-01 12:13:14 2023-01-01 12:14:15
Índices:
  • CHAVE PRIMÁRIA, btree (payment_id)

Tabela rental

Colunas da tabela:
  • rental_id - Identificador único para cada aluguel.
  • rental_date - Data em que o aluguel ocorreu.
  • inventory_id - Chave estrangeira referenciando a tabela inventory.
  • customer_id - Chave estrangeira referenciando a tabela customer.
  • return_date - Data em que o aluguel foi devolvido.
  • staff_id - Chave estrangeira referenciando a tabela staff.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
rental_id rental_date inventory_id customer_id return_date staff_id last_update
1 2023-01-01 16:15:21 1 1 2023-01-10 09:12:36 1 2023 1 2023-01-10 09:12:36
Índices:
  • CHAVE PRIMÁRIA, btree (rental_id)

Tabela staff

Colunas da tabela:
  • staff_id - Identificador único para cada membro da equipe.
  • first_name - Primeiro nome do membro da equipe.
  • last_name - Sobrenome do membro da equipe.
  • address_id - Chave estrangeira referenciando a tabela address.
  • picture - Foto do membro da equipe.
  • email - Endereço de e-mail do membro da equipe.
  • store_id - Chave estrangeira referenciando a tabela store.
  • active - Indica se o membro da equipe está ativo.
  • username - Nome de usuário para login.
  • password - Senha para login.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
staff_id first_name last_name address_id picture email store_id active username password last_update
1 João Silva 1 [null] joao.silva@exemplo.com 1 true joaosilva ******** 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (staff_id)

Tabela store

Colunas da tabela:
  • store_id - Identificador único para cada loja.
  • manager_staff_id - Chave estrangeira referenciando a tabela staff para o gerente da loja.
  • address_id - Chave estrangeira referenciando a tabela address.
  • last_update - Quando a linha foi criada ou atualizada mais recentemente.
store_id manager_staff_id address_id last_update
1 1 1 2023-01-01 12:00:00
Índices:
  • CHAVE PRIMÁRIA, btree (store_id)