1
resposta

[Projeto] Mão na massa: hora da prática

/*
Exercicio 1
Selecione os primeiros 5 registros da tabela clientes, ordenando-os pelo nome em ordem crescente
*/

SELECT * FROM clientes ORDER BY nome LIMIT 5;

/*
Exercicio 2
Encontre todos os produtos na tabela produtos que não têm uma descrição associada (coluna descrição pode ser nula)
*/

SELECT * FROM produtos WHERE descricao IS NULL or descricao = '';

/*
Exercicio 3
Liste os funcionários cujo nome começa com 'A' e termina com 's' na tabela funcionarios
*/

SELECT * FROM funcionarios WHERE nome like 'A%' and nome LIKE '%s'; 

/*
Exercicio 4
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 departamento, AVG(salario) as media_salarial
FROM funcionarios
GROUP BY departamento
HAVING AVG(salario) > 5000;

/*
Exercicio 5
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 CONCAT(primeiro_nome, ' ', ultimo_nome) AS nome_completo,
       LENGTH(CONCAT(primeiro_nome, ' ', ultimo_nome)) AS comprimento_total
FROM clientes;

/*
Exercicio 6
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(data_venda) AS diferenca_venda
FROM vendas;

/*
Exercicio 7
Selecione todos os itens da tabela pedidos e arredonde o preço total para o número inteiro mais próximo
*/

SELECT ROUND(preco_total) AS valor_arredondado FROM pedidos;

/*
Exercicio 8
Converta a coluna data_string da tabela eventos (formato texto YYYY-MM-DD) para tipo data
e selecione todos os eventos após '2023-01-01'
*/

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

/*
Exercicio 9
Na tabela avaliacoes, classifique cada avaliação como 'Boa', 'Média' ou 'Ruim' com base na pontuação:
1-3 = Ruim, 4-7 = Média, 8-10 = Boa
*/

SELECT
CASE 
WHEN nota BETWEEN 1 AND 3 THEN 'Ruim'
WHEN nota BETWEEN 4 and 7 THEN 'Média'
WHEN nota BETWEEN 8 and 10 THEN 'Boa'
end as desempenho
from avaliacoes;

/*
Exercicio 10
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 funcionarios RENAME COLUMN data_nasc TO data_nascimento;
SELECT * FROM funcionarios
WHERE data_nascimento > '1990-01-01';
1 resposta

Oi, Mario! Como vai?

Agradeço por compartilhar.

Gostei das suas soluções, ficaram bem organizadas e seguindo a lógica dos exercícios. Importante como você aplicou filtros, funções e agrupamentos de forma direta, o que mostra boa compreensão dos comandos. Continue avançando nessa prática, ela fortalece muito seu domínio de SQL.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!