/*
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';