Buscar

bd2_02_exercicios_sql_resolvido

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Exercícios de SQL
Prof. Márcio Bueno
{bd2tarde,bd2noite}@marciobueno.com
Esquemas
 Funcionarios (Codigo, PrimeiroNome, 
SegundoNome, UltimoNome, 
DataNasci, CPF, RG, Endereco, CEP, 
Cidade, Fone, CodigoDepartamento, 
Funcao, Salario)
 Departamentos (Codigo, Nome, 
Localizacao, 
CodigoFuncionarioGerente)
Banco de Dados II - Márcio Bueno 2
Exercício 1
 Listar nome e sobrenome ordenado 
por sobrenome
SELECT PrimeiroNome, UltimoNome
FROM Funcionarios
ORDER BY UltimoNome
Banco de Dados II - Márcio Bueno 3
Exercício 2
 Listar todos os campos de 
funcionários ordenados por cidade
SELECT *
FROM Funcionarios
ORDER BY Cidade
Banco de Dados II - Márcio Bueno 4
Exercício 3
 Liste os funcionários que têm salário 
superior a R$ 1.000,00 ordenados 
pelo nome completo
SELECT *
FROM Funcionarios
WHERE Salario > 1000
ORDER BY PrimeiroNome, 
SegundoNome, UltimoNome
Banco de Dados II - Márcio Bueno 5
Exercício 4
 Liste a data de nascimento e o 
primeiro nome dos funcionários 
ordenados do mais novo para o mais 
velho
SELECT DataNasci, PrimeiroNome
FROM Funcionarios
ORDER BY DataNasci DESC, 
PrimeiroNome
Banco de Dados II - Márcio Bueno 6
Exercício 5
 Liste os funcionários como uma 
listagem telefônica
SELECT UltimoNome, PrimeiroNome, 
SegundoNome, Fone, Endereco, 
Cidade
FROM Funcionarios
ORDER BY UltimoNome, PrimeiroNome, 
SegundoNome
Banco de Dados II - Márcio Bueno 7
Exercício 6
 Liste o total da folha de pagamento
SELECT SUM(Salario) AS TOTAL
FROM Funcionarios
Banco de Dados II - Márcio Bueno 8
Exercício 7
 Liste o nome, o nome do departamento 
e a função de todos os funcionários
SELECT F.PrimeiroNome, D.Nome, 
F.Funcao
FROM Funcionarios F JOIN 
Departamentos D 
ON F.CodigoDepartamento = D.Codigo
ORDER BY F.PrimeiroNome
Banco de Dados II - Márcio Bueno 9
Exercício 8
 Liste todos departamentos com seus 
respectivos gerentes
SELECT D.Nome, F.PrimeiroNome
FROM Departamentos D JOIN 
Funcionarios F
ON D.CodigoFuncionarioGerente = 
F.Codigo
ORDER BY D.Nome
Banco de Dados II - Márcio Bueno 10
Exercício 9
 Liste o valor da folha de pagamento de 
cada departamento (nome)
SELECT D.Nome, SUM(F.Salario) AS 
Total
FROM Departamentos D JOIN 
Funcionarios F
ON D.Codigo = F.CodigoDepartamento
GROUP BY D.Nome
Banco de Dados II - Márcio Bueno 11
Exercício 10
 Liste os departamentos dos 
funcionários que têm a função de 
supervisor
SELECT D.Nome, F.PrimeiroNome
FROM Departamentos D JOIN 
Funcionarios F
ON D.Codigo = F.CodigoDepartamento
WHERE F.Funcao = ‘Supervisor’
ORDER BY D.Nome 12
Exercício 11
 Liste a quantidade de funcionários 
desta empresa
SELECT COUNT(*) AS 
TotalFuncionarios
FROM Funcionarios
Banco de Dados II - Márcio Bueno 13
Exercício 12
 Liste o salário médio pago pela 
empresa
SELECT AVG(Salario) AS Media
FROM Funcionarios
Banco de Dados II - Márcio Bueno 14
Exercício 13
 Liste o menor salário pago pela 
empresa em cada departamento
SELECT D.Nome, MIN(F.Salario)
FROM Funcionarios F JOIN 
Departamentos D
ON F.CodigoDepartamento = D.Codigo
GROUP BY D.Nome 
Banco de Dados II - Márcio Bueno 15
Exercício 14
 Liste o nome completo de todos os 
funcionários que não tenham segundo 
nome
SELECT PrimeiroNome, SegundoNome, 
UltimoNome
FROM Funcionarios
WHERE SegundoNome IS NULL
ORDER BY PrimeiroNome, UltimoNome
Banco de Dados II - Márcio Bueno 16
Exercício 15
 Liste o nome do departamento e do 
funcionário ordenados por 
departamento e funcionário
SELECT D.Nome, F.PrimeiroNome
FROM Departamentos D JOIN 
Funcionarios F ON D.Codigo = 
F.CodigoDepartamento
ORDER BY D.Nome, F.PrimeiroNome
Banco de Dados II - Márcio Bueno 17
Exercício 16
 Liste os nomes dos funcionários que 
moram em Recife e que exerçam a 
função de Telefonista
SELECT PrimeiroNome
FROM Funcionarios
WHERE Cidade = ‘Recife’ AND Funcao
= ‘Telefonista’
Banco de Dados II - Márcio Bueno 18
Exercício 17
 Liste os nomes dos funcionários que 
trabalham no departamento Pessoal
SELECT PrimeiroNome
FROM Funcionarios
WHERE CodigoDepartamento =
(SELECT Codigo
FROM Departamentos
WHERE Nome = ‘Pessoal’)
Banco de Dados II - Márcio Bueno 19
Exercício 18
 Liste o nome e o departamento de 
todos os funcionários que ganham 
mais do que algum gerente
Banco de Dados II - Márcio Bueno 20
Exercício 18
SELECT F.PrimeiroNome, D.Nome 
FROM Funcionarios F JOIN Departamentos D
ON F.CodigoDepartamento = D.Codigo
WHERE F.Salario > SOME (
SELECT Salario
FROM Funcionarios
WHERE Codigo IN (
SELECT CodigoFuncionarioGerente
FROM Departamentos ) );
Banco de Dados II - Márcio Bueno 21

Outros materiais