“
Essa sequência de atividades visa aprimorar meus conhecimentos em SQL, com o objetivo de lidar com desafios cada vez mais complexos nesta área.
DIFERENÇAS SALARIAIS
Escreva uma consulta que calcule a diferença entre os salários mais altos encontrados nos departamentos de marketing e engenharia. Imprima apenas a diferença absoluta de salários.
db_employee → id: int | first_name: varchar | **last_name:**varchar | **salary:**int | department_id: int
db_dept → id: int | department: varchar
RESOLUÇÃO:
SELECT
ABS(MAX(a.salary) - MAX(b.salary)) as DIF_SALARIO
FROM db_employee a, db_employee b
WHERE a.department_id = 4 AND b.department_id = 1;
SALÁRIOS LYFT
Encontre todos os motoristas Lyft que ganham igual ou inferior a 30.000 USD ou igual ou superior a 70.000 USD. Mostre todas as informações relacionadas aos registros recuperados.
lyft_drivers → index: ints | tart_date: datetime | **end_date:**datetime | yearly_salary: int
RESOLUÇÃO
SELECT
*
FROM lyft_drivers
WHERE yearly_salary
NOT BETWEEN 30001 AND 69999
NÚMERO DE BANHEIRO E QUARTOS
Encontre o número médio de banheiros e quartos para cada tipo de propriedade da cidade. Gere o resultado junto com o nome da cidade e o tipo de propriedade.
airbnb_search_details
Unnamed:0: intid:int | price:float | property_type:varchar | room_type:varchar | amenities:varchar | accommodates:int | bathrooms:int | bed_type:varchar | cancellation_policy:varchar | cleaning_fee:bool | city:varchar | host_identity_verified:varchar | host_response_rate:varchar | host_since:datetime | neighbourhood:varchar | number_of_reviews:int | review_scores_rating:float | zipcode:int | bedrooms:int | beds:int
RESOLUÇÃO
SELECT
city,
property_type,
AVG(bathrooms) BATH,
AVG(bedrooms) BEDROOMS
FROM airbnb_search_details
GROUP by city, property_type
ORDER BY city;
DADOS BIBLIOTECA
Encontre bibliotecas que não forneceram o endereço de e-mail no ano de circulação de 2016, mas sua definição de preferência de aviso está definida como e-mail. Emita o código da biblioteca.
library_usagePreview
**patron_type_code:**int | **patron_type_definition:**varchar | **total_checkouts:**int | **total_renewals:**int | **age_range:**varchar || **home_library_code:**varchar | **home_library_definition:**varchar | **circulation_active_month:**varchar | **circulation_active_year:**float | **notice_preference_code:**varchar | **notice_preference_definition:**varchar | **provided_email_address:**bool | **year_patron_registered:**int | **outside_of_county:**bool | **supervisor_district:**float
RESOLUÇÃO
SELECT
home_library_code
FROM library_usage
WHERE notice_preference_definition = 'email'
AND provided_email_address ='0'
AND year_patron_registered ='2016'
TRABALHADORES COM OS SALÁRIOS MAIS ALTOS
Você foi solicitado a encontrar os cargos dos funcionários mais bem pagos. Sua pesquisa deve incluir o título mais bem pago ou vários títulos com o mesmo salário.
**worker → worker_id:**int | **first_name:**varchar | **last_name:**varchar | **salary:**int | **joining_date:**datetime | **department:**varchar
title → worker_ref_id: int | worker_title: varchar | affected_from: datetime
RESOLUÇÃO
SELECT
J.worker_title FROM worker W
JOIN title J
ON W.worker_id = J.worker_ref_id
WHERE salary
IN (SELECT MAX(salary) FROM worker);
DETALHES DO PEDIDO
Encontre os detalhes do pedido feito por Jill e Eva. Considere a Jill e a Eva como primeiros nomes dos clientes. Imprima a data do pedido, os detalhes e o custo junto com o primeiro nome. Registros de pedidos com base no ID do cliente em ordem crescente.
customers → id:int | first_name:varchar | last_name:varchar | city:varchar | address:varchar | phone_number:varchar
orders → id:int | cust_id:int | order_date:date | timeorder_details:varchar | total_order_cost:int
RESOLUÇÃO
SELECT
C.first_name,
O.order_date,
O.order_details,
O.total_order_cost
FROM customers C
JOIN orders O ON
C.id = O.id
WHERE C.first_name IN ('Jill', 'Eva')
ORDER by C.id;