1
resposta

[Projeto] Resolução: Desafio Avaliações

Olá, seguem minhas respostas para as perguntas do primeiro desafio:

-- 1 Selecione os primeiros 5 registros da tabela clientes (colaboradores), 
-- ordenando-os pelo nome em ordem crescente.

SELECT * from Colaboradores ORDER BY nome LIMIT 5;

-- Encontre todos os produtos na tabela produtos que não
-- têm uma descrição associada (suponha que a coluna de descrição possa ser nula).

SELECT * from HistoricoEmprego 
WHERE datatermino ISNULL;


-- Liste os funcionários cujo nome começa com 'A' 
-- e termina com 's' na tabela funcionarios.

SELECT * from Colaboradores
where nome LIKE ('a%s');

-- Exiba o departamento e a média salarial dos funcionários em cada departamento na tabela funcionarios,
-- agrupando por departamento, apenas para os departamentos cuja média salarial é superior a $5000.

SELECT cargo, AVG(salario) as media_salarial
FROM HistoricoEmprego
GROUP BY cargo
HAVING AVG(salario) > 5000;]

-- Selecione todos os clientes da tabela clientes e concatene o primeiro e 
-- o último nome, além de calcular o comprimento total do nome completo.

SELECT nome || ' ' || sobrenome as nome_completo, 
LENGTH(nome || ' ' || sobrenome) as comprimento
FROM clientes; 

-- Para cada venda na tabela vendas, exiba o ID da venda, 
-- a data da venda e a diferença em dias entre a data da venda e a data atual.

SELECT id_venda, data_venda, JULIANDAY('now') - JULIANDAY(id_venda) as dif_datas
from vendas;

-- Selecione todos os itens da tabela pedidos e 
-- arredonde o preço total para o número inteiro mais próximo.

SELECT id_pedidos, ROUND(preco_total) as preco_arredondado
from pedidos;

-- Converta a coluna data_string da tabela eventos, que está em formato de texto (YYYY-MM-DD), 
-- para o tipo de data e selecione todos os eventos após '2023-01-01'.

SELECT * FROM eventos
WHERE CAST(data_evento AS DATE) > '2023-01-01';

-- Na tabela avaliacoes, classifique cada avaliação como 'Boa', 'Média', 
-- ou 'Ruim' com base na pontuação: 1-3 para 'Ruim', 4-7 para 'Média', e 8-10 para 'Boa'.

SELECT id_aluno, avaliacao
CASE
WHEN avaliacao BETWEEN 1 and 3 then 'Ruim'
WHEN avaliacao BETWEEN 4 and 7 then 'Média'
When avaliacao BETWEEN 8 and 10 then 'Boa'
ELSE NULL
end as notas
FROM avaliacoes

-- Altere o nome da coluna data_nasc para data_nascimento na tabela 
-- funcionarios e selecione todos os funcionários que nasceram após '1990-01-01'.

ALTER TABLE data_nasc RENAME data_nascimento
SELECT * from funcionarios
where CAST(data_nascimento as DATE) > '1990-01-01'

1 resposta

Olá Gabriel, tudo bem com você?

Obrigado por compartilhar seu modo de resolução com a comunidade Alura.

Um pequeno detalhe está na resolução do exercício 02, onde você selecionou os dados da tabela HistoricoEmprego em vez de produtos. Caso queira ver o gabarito desse desafio, basta clicar em Ver Opinião do Instrutor.

Continue praticando e explorando diferentes scripts para fortalecer seu entendimento. Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!