Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome...

21
Exercícios de SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com

Transcript of Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome...

Page 1: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

Exercícios de SQL

Prof. Márcio Bueno{bd2tarde,bd2noite}@marciobueno.com

Page 2: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 3: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 4: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 5: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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, UltimoNomeBanco de Dados II - Márcio Bueno 5

Page 6: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 7: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 8: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 9: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 10: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 11: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 12: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 13: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 14: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 15: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 16: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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, UltimoNomeBanco de Dados II - Márcio Bueno 16

Page 17: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 18: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 19: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 20: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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

Page 21: Exercícios de SQL - Marcio Bueno · PDF fileExercício 1 Listar nome e sobrenome ordenado por sobrenome SELECT PrimeiroNome, UltimoNome FROM Funcionarios ORDER BY UltimoNome Banco

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