You are on page 1of 62

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)

Nome do Aluno: _____________________________


Informe o padro utilizado na escrita das instrues SQL abaixo:
( ) Todas as instrues SQL em maisculas
( ) Todas as instrues SQL em minsculas
( ) Outros: _________________

Projeto Carloca
Locao de Automveis
ORACLE SQL
EXPERINCIA ACADMICA
O principal objetivo deste material, proporcionar a prtica dos recursos da ferramenta
Oracle SQL, verso 11g, em um estudo de caso real, garantindo ao aluno que aps o
desenvolvimento de todos os exerccios aqui propostos, adquira uma carga horria de mais de 300hs
de experincia nesta poderosa ferramenta, podendo contribuir posteriormente nas manutenes em
instrues SQL padro ANSI, dos sistemas legados e novos desenvolvimentos existentes nas
corporaes que atuam com banco de dados Oracle. Portanto, de vital importncia que este
material reflita fielmente o aprendizado do aluno, cabendo a ele se responsabilizar pelos cdigos aqui
implementados, sendo que somente com a prtica excessiva que se conseguir alcanar o objetivo
de implementar um cdigo robusto e de qualidade imensurvel.

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

COMANDO SELECT BSICO

1.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba todos os dados da tabela de clientes. (Utilize a
clusula *) na instruo SELECT.
Soluo:

2.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba os seguintes dados dos clientes: cdigo, nome e
telefone. (No utilize a clusula *) na instruo SELECT.
Soluo:

3.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba os seguintes dados dos clientes: nome, tipo do
cliente e nmero de habilitao. (No utilize a clusula *) na instruo SELECT. Classifique
essa consulta por ordem de nome de cliente.
Soluo:

4.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba todos os dados da tabela de Funcionrios. (Utilize
a clusula *) na instruo SELECT.
Soluo:

5.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba os seguintes dados dos funcionrios: cdigo, nome
e salrio. (No utilize a clusula *) na instruo SELECT.
Soluo:

6.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba os seguintes dados dos funcionrios: nome, cdigo
do departamento, comisso e data de incio. (No utilize a clusula *) na instruo SELECT.
Classifique essa consulta por ordem de nome de funcionrio.
Soluo:

7.Objetivo: Select Bsico

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Desenvolva uma instruo SQL que exiba os seguintes dados dos funcionrios: cargo e
salrio. (No utilize a clusula *) na instruo SELECT. Classifique essa consulta por ordem
de cargo.
Soluo:

8.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba os seguintes dados dos funcionrios: cdigo,
nome, cargo, salrio, valor da comisso, e CPF do funcionrio. (No utilize a clusula *) na
instruo SELECT. Classifique essa consulta por ordem de salrio.
Soluo:

9.Objetivo: Select Bsico


Desenvolva uma instruo SQL que exiba todos os dados da tabela de Departamento.
(Utilize a clusula *) na instruo SELECT.
Soluo:

10.
Objetivo: Select Bsico
Desenvolva uma instruo SQL que exiba os seguintes dados dos departamentos: nome do
departamento. (No utilize a clusula *) na instruo SELECT.
Soluo:

11.
Objetivo: Join
Desenvolva uma instruo SQL que exiba os seguintes dados dos funcionrios: cdigo e
nome do funcionrio, nmero do CPF, cargo cdigo do departamento e nome do
departamento. Exiba somente os funcionrios que esto cadastrados no departamento
nmero 42 - Operacional - Regio Sul e cujo funcionrio tenha a letra n em seu nome.
Soluo:

12.
Objetivo: Join
Desenvolva uma instruo SQL que exiba os seguintes dados dos funcionrios: cdigo e
nome do funcionrio, cargo, salrio, salrio com comisso, salrio anual (salrio*12), cdigo
do departamento e nome do departamento. D um apelido significativo para a coluna falsa e
classifique o resultado dessa consulta por salrio anual em ordem descendente, ou seja, quem
ganha mais.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

13.
Objetivo: Join
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo e nome do
departamento, Qtde Total de Funcionrios por departamento, Valor Total de salrio gasto
(Salrio + comisso) e Valor total de salrio gasto anualmente (Salrio + Comisso)*12.
Exiba somente os departamentos que gastam mais do que a mdia salarial da empresa
(Salrio + Comisso). Classifique o resultado em ordem decrescente de Valor Total de salrio
gasto.
Soluo:

14.
Objetivo: Join
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo e nome do Cliente,
Qtde Total de locaes realizadas, Valor Total de locaes realizadas. Exiba somente os
clientes que gastam mais do que a mdia de locao. Classifique o resultado em ordem
decrescente de Valor Total de locaes realizadas.
Soluo:

15.
Objetivo: Join
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo e nome do Cliente, o
logradouro, bairro, CEP, estado e NOME da cidade, bem como Tipo de endereo.. Exiba
somente os clientes que tem a Letra T no nome.
Soluo:

16.
Objetivo: Select Bsico
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo e nome da cidade.
Somente exiba as cidades que tem cdigo nmero par.
Soluo:

17.
Objetivo: Join
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo, nome e telefone do
proprietrio, o logradouro, bairro, CEP, estado e NOME da cidade, bem como Tipo de
endereo.. Exiba somente os proprietrios que esto no bairro LUZ, CENTRO e
PINHEIROS.
Soluo:

18.

Objetivo: Join

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Desenvolva uma instruo SQL que exiba os seguintes dados: nmero do pedido, data do
pedido, valor total do pedido, status do pedido, cdigo do funcionrio que atendeu o pedido,
nome do funcionrio que atendeu o pedido, cdigo do cliente, nome do cliente, telefone do
cliente e nmero de estrelas do cliente. Caso o nmero de estrelas seja:
o NULL (em branco) exibir o texto Sem estrelas
o <=1 exibir o texto Estrela de Papel
o = 2 exibir o texto Estrela de Lata
o = 3 exibir o texto Estrela de Bronze
o = 4 exibir o texto Estrela de Prata
o = 5 exibir o texto Estrela de Ouro
Classificar a consulta por nmero de estrelas..
Soluo:

19.

Objetivo: Chamada de function em uma instruo SQL

Crie a funo abaixo no seu usurio.


Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo do funcionrio. Nome
do funcionrio, cargo, salrio do funcionrio, comisso, e a coluna X. Essa coluna X deve
ser a chamada da funo abaixo. Passe como parmetro o valor do salrio do funcionrio.
Classifique sua consulta pela coluna X.
create or replace function fun_aumenta_salario( p_vl_salario
loc_funcionario.vl_salario%type) return number is
v_aumento number(5,2) := 10;
begin
return ( p_vl_salario + (p_vl_salario *
end;
Soluo:

v_aumento) );

Programao em Banco de Dados

20.

Lista de Exerccios ( Projeto CarLoca)


Objetivo: Chamada de function em uma instruo SQL

Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo do grupo de locao,
descrio do grupo de locao, valor de locao unitrio. Crie uma coluna falsa chamada
novo valor unitrio. Essa nova coluna deve ser a chamada da funo do exerccio anterior.
Passe como parmetro o valor de locao diria. Classifique sua consulta pela nova coluna
virtual.
Soluo:

21.
Objetivo: Select Bsico
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo, estado e cidade do
DDD. Exiba somente as cidades que iniciem com a letra A ou que tenham o cdigo de
DDD < 15. Classifique a consulta por cdigo de DDD
Soluo:

22.
Objetivo: Select Bsico
Desenvolva uma instruo SQL que exiba os seguintes dados: cdigo e nome da operadora.
Exiba somente as operadoras que tenham mais do que 5 bytes cadastrados. Classifique a
consulta por ordem de bytes decrescente.
Soluo:

23.
Objetivo: Select Bsico
Desenvolva uma instruo SQL que exiba a quantidade total de veculos agrupado por cor e
modelo. Exiba somente os dados que tenham 2 ou mais veculos cadastrados.
Soluo:

24.
Objetivo: Select Bsico
Desenvolva uma instruo SQL que exiba a quantidade total de locaes realizadas por data
do pedido. Exiba somente as datas que tenham mais de 3 locaes realizadas por dia.
Classifique essa consulta por ordem de data.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

COMANDO INSERT

25.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela loc_banco. Deve ser inserido
todas as colunas da tabela loc_banco, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 3 bancos distintos. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

26.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela loc_agencia_banco. Deve ser
inserido todas as colunas da tabela loc_agencia_banco, mesmo as colunas no obrigatrias de
preenchimento.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela loc_banco.
Cadastre 2 agncias distintas. Utilize 2 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

27.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela loc_operadora_cartao. Deve ser
inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 3 operadores diferentes. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

28.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de condies de pagamento.
Deve ser inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de
preenchimento.
Cadastre 3 condies diferentes. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


29.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de prefixo de DDD. Deve ser
inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 3 prefixos diferentes. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

30.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de DDD. Deve ser inserido todas
as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 3 DDDs diferentes. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

31.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de Operadora de Telefonia
(loc_operadora). Deve ser inserido todas as colunas da tabela, mesmo as colunas no
obrigatrias de preenchimento.
Cadastre 3 operadoras diferentes. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

32.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de Proprietrios. Deve ser
inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 5 proprietrios diferentes. Utilize instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

33.

Objetivo: Insert simples

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Desenvolva uma instruo SQL para inserir dados na tabela de endereo de proprietrio.
Deve ser inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de
preenchimento.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 2 endereos para cada proprietrio cadastrado no exerccio anterior. Utilize instrues
Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

34.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de veculos. Deve ser inserido
todas as colunas obrigatrias da tabela.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 5 veculos para cada proprietrio cadastrado no exerccio anterior. Utilize instrues Insert
separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

35.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de grupos de veculos
(loc_grupo). Deve ser inserido todas as colunas da tabela, mesmo as colunas no obrigatrias
de preenchimento.
Cadastre 3 grupos diferentes. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


36.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de estado (loc_estado). Deve ser
inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 3 estados novos. Utilize 3 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

37.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de cidade (loc_cidade). Deve ser
inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 5 cidades novas para cada estado cadastrado no exerccio anterior. Utilize instrues Insert
separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

38.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de agencia bancria
(loc_agencia). Deve ser inserido todas as colunas da tabela, mesmo as colunas no
obrigatrias de preenchimento.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 3 agncias novas para cada banco cadastrado no exerccio anterior. Utilize instrues
Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

39.

Objetivo: Insert simples

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Desenvolva uma instruo SQL para inserir dados na tabela de departamento. Deve ser
inserido todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 5 novos departamentos. Utilize 5 instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

40.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de funcionrios. Deve ser
inserido todas as colunas obrigatrias da tabela.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 3 novos funcionrios para cada departamento cadastrado no exerccio anterior. Utilize
instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

41.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de clientes. Deve ser inserido
todas as colunas da tabela, mesmo as colunas no obrigatrias de preenchimento.
Cadastre 6 clientes diferentes.
Cadastre 3 clientes pessoas fsicas e 3 clientes pessoas jurdicas.
Faa uma pesquisa nas tabelas para verificar se o comando foi executado com sucesso.
Soluo:

42.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de endereo de clientes. Deve ser
inserido todas as colunas obrigatrias da tabela.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 2 endereos para cada cliente cadastrado no exerccio anterior. Utilize instrues Insert
separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


43.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de Pedidos de Locao
(Loc_Pedido_Locacao). Deve ser inserido todas as colunas obrigatrias da tabela.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 10 novos pedidos de locao para cada funcionrio cadastrado no exerccio anterior. Utilize
instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

44.
Objetivo: Insert simples
Desenvolva uma instruo SQL para inserir dados na tabela de Itens de Pedidos de Locao
(Loc_Item_Locacao). Deve ser inserido todas as colunas obrigatrias da tabela.
Obs.: Para inserir em tabelas que possui chave estrangeira, deve-se verificar se o valor
inserido como FK est cadastrado na tabela pai.
Cadastre 3 novos itens de pedidos de locao para cada pedido cadastrado no exerccio anterior.
Utilize instrues Insert separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

45. Objetivo: Insert Simples


Insira 2 novos departamentos dentro do PROJETO CARLOCA . Utilize o comando INSERT.
Confirme a transao
Depto: 51 Esportes Regio:4
Depto: 52 Academia Ginstica Regio:2
Soluo:

46. Objetivo: Incluir dados de Funcionrios tabela LOC_FUNCIONARIO

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Maura Edson dos Santos acabou de ser contratada pela empresa CARLOCA. Insira seus
dados seguindo as informaes abaixo dentro do PROJETO CARLOCA. Utilize o comando
INSERT. . Confirme a transao
Funcionrio:22 Maura Edson dos Santos data inicio: 01/09/2009 codgerente:3
Cargo:Vendedora Depto:55 Salario:1900 - %Comisso:20%
Soluo:

47. Objetivo: Incluir dados de Departamento tabela LOC_DEPTO


Desenvolva uma instruo SQL que insira na tabela de Departamentos (loc_depto) o
departamento 53 - Gerncia de TI.
Soluo:

48. Objetivo: Insert Simples


Desenvolva uma instruo SQL que cadastre os funcionrios abaixo(loc_funcionario):
Cdigo: 20
Nome: Juliana Ribeiro
Gerente: 17
Data de Incio: sysdate
Salrio: 3200,00
Comissao: 15%
Departamento: 53
Cargo: Analista de Suporte

Cdigo: 21
Nome: Marcos de Oliveira
Gerente: 17
Data de Incio: sysdate
Salrio: 3200,00
Comissao: 15%
Departamento: 53

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Cargo: Analista de Suporte
Soluo:

49. Objetivo: Insert Simples


Desenvolva uma instruo SQL que insira a operadora OI na tabela loc_operadora.
Soluo:

50. Objetivo: Insert Simples


Desenvolva uma instruo SQL que crie um novo grupo de locao.
Grupo: Carro Luxo
Valor da Locao: 375,00
Soluo:

51. Objetivo: Insert Simples


A instruo SQL abaixo ocorreu em erro. Favor corrigir a instruo, garantindo que o
comando abaixo seja executado com sucesso. Aps a correo, confirme a transao
pendente.

52. Objetivo: Insert Simples


A instruo SQL abaixo ocorreu em erro. Favor corrigir a instruo, garantindo que o
comando abaixo seja executado com sucesso. Aps a correo, confirme a transao
pendente.

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

53. Objetivo: Insert Simples


A instruo SQL abaixo ocorreu em erro. Favor corrigir a instruo, garantindo que o
comando abaixo seja executado com sucesso. Aps a correo, confirme a transao
pendente.

54. Objetivo: Insert Simples


A instruo SQL abaixo ocorreu em erro. Favor corrigir a instruo, garantindo que o
comando abaixo seja executado com sucesso. Aps a correo, confirme a transao
pendente.

55. Objetivo: Multi Insert


Desenvolva uma instruo SQL que inclua um novo grupo de locao e tambm um veculo.
Assuma um proprietrio j cadastrado e valores significativos a cada coluna das respectivas
tabelas.
56. Objetivo: Multi Insert
Desenvolva uma instruo SQL que inclua um novo departamento e tambm um funcionrio.
Utilize um gerente j cadastrado e cadastre valores significativos a cada coluna das
respectivas tabelas.
57. Objetivo: Insert Simples

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Desenvolva uma instruo SQL que inclua um novo funcionrio. Para o cdigo do
departamento do funcionrio, utilize o contedo NULL, ou seja, deixe o cdigo de
departamento em branco. Foi possvel incluir o funcionrio? Justifique sua resposta.
58. Objetivo: Insert com subconsulta
Crie um novo cliente a partir do cliente nmero 8. Utilize os mesmos valores desse cliente,
com exceo de seu cdigo, que deve ser novo.
59. Objetivo: Insert com subconsulta
Crie um novo cliente a partir do cliente nmero 8. Utilize os mesmos valores desse cliente,
com exceo de seu cdigo, que deve ser novo.
60. Objetivo: Insert com subconsulta
Crie um novo proprietrio a partir do proprietrio nmero 2. Utilize os mesmos valores desse
proprietrio, com exceo de seu cdigo, que deve ser novo.

61. Objetivo: Insert Simples


O comando abaixo est com problema em sua sintaxe. Tente corrigi-lo utilizando as boas
prticas de escrita de instrues SQL.

62. Objetivo: Insert Simples


Veja o cliente cadastrado abaixo. Escreva a instruo SQL que fez com que essa informao
estivesse cadastrada.

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


63. Objetivo: Insert Simples
Crie um novo departamento de cdigo 88 chamado Financeiro Corporativo.

COMANDO UPDATE

64.
Objetivo: Update simples
Os 3 funcionrios que voc cadastrou anteriormente superaram as expectativas de vendas e
devem receber um aumento de 12% sobre o seu salrio atual. O percentual de vendas
tambm foi alterado para 18%. Escreva a instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Utilize instrues Update separadas.
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

65.
Objetivo: Update simples
Todos os Funcionrios que esto associados ao departamento Financeiro iro ser realocados
para o departamento Financeiro Corporativo. Escreva a instruo SQL que deve executar
essa tarefa
Soluo:

66.
Objetivo: Update simples
Atualize a data de incio de cadastramento dos 3 funcionrios que voc cadastrou deve ser
alterada para 18/05/2009. Escreva a instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

67.
Objetivo: Update simples
Somente os clientes que esto com o nmero de estrelas menor ou igual a 1 deve ser
atualizado para 2. Escreva a instruo SQL que consiga realizar essa tarefa. Confirme a
transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


68.
Objetivo: Update simples
O projeto CARLOCA est vendendo como nunca. Devido a isso, todos os funcionrios iro
receber um aumento salarial de 14%. Escreva a instruo SQL que consiga realizar essa
tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

69.
Objetivo: Update simples
Atualize o nome dos funcionrios que esto com todas as letras maisculas, ajustando esse
contedo para as letras iniciais maisculas e as demais minsculas. Utilize a funo INITCAP
para isso. Escreva a instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

70.
Objetivo: Update simples
Atualize o nome dos clientes que esto com todas as letras maisculas, ajustando esse
contedo para as letras iniciais maisculas e as demais minsculas. Utilize a funo INITCAP
para isso. Escreva a instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


71.
Objetivo: Update simples
Atualize o nome dos proprietrios de veculos que esto com todas as letras maisculas,
ajustando esse contedo para as letras iniciais maisculas e as demais minsculas. Utilize a
funo INITCAP para isso. Escreva a instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

72.
Objetivo: Update simples
Atualize o email dos funcionrios que voc cadastrou no exerccio anterior, cadastrando
emails significativos, ou seja, que tenham pelo menos a letra @ contida no valor. Escreva a
instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

73.
Objetivo: Update simples
Ser necessrio atualizar os valores de locaes dirias dos veculos a partir de agora. O
percentual de reajuste ser de 13.8%. Atualize a tabela LOC_GRUPO, acrescentando esse
percentual do valor j existente. Escreva a instruo SQL que consiga realizar essa tarefa.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

74.

Objetivo: Update simples

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Foram encontradas irregularidades com o valor total de locao do item de locao
(LOC_ITEM_LOCACAO), comparado com o valor unitrio e quantidade de dias de locao
do item locado. Favor escrever uma instruo SQL que sincronize esse valor utilizando o
seguinte algoritmo. VL_TOTAL = QT_DIAS * VL_LOCACAO. Execute esse comando para
todas as diferenas encontradas. (somente para as diferenas)
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

75.
Objetivo: Update simples
O proprietrio Celso Santos no quer mais que seus veculos sejam locados. Sendo assim,
favor inativar os veculos correspondentes a esse proprietrio. Escreva a instruo SQL que
consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

76.
Objetivo: Update simples
O cliente LEITE E SILVA LTDA no quer mais que nenhum dos seus pedidos realizados
fiquem disponveis para acesso. Sendo assim, favor inativar os pedidos correspondentes a
esse Cliente. Escreva a instruo SQL que consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

77. Objetivo: Atualizar dados de FUNCIONRIOS tabela loc_funcionario

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Maura Edson dos Santos superou as expectativas de vendas e deve receber um aumento de
10% sobre o seu salrio atual. O percentual de vendas dela tambm foi alterado para 18%.
Escreva a instruo SQL que consiga realizar essa tarefa. Confirme a transao
Soluo:

78. Objetivo: Atualizar dados de FUNCIONRIOS tabela loc_funcionario


O projeto CARLOCA est vendendo como nunca. Devido a isso, todos os funcionrios iro
receber um aumento salarial de 14%. Escreva a instruo SQL que consiga realizar essa
tarefa. Confirme a transao
Soluo:

79. Objetivo: Atualizar dados de BANCOS tabela loc_banco


Atualize a tabela loc_banco, ajustando a coluna URL='http://www.fiap.com.br' onde a coluna
URL estiver nula.
Soluo:

80. Objetivo: Atualizar dados de FUNCIONRIOS tabela loc_funcionario


A funcionria Aline de Oliveira ser a nova Gerente de TI do departamento de Administrao
da CarLoca, altere a tabela loc_funcionario com as devidas informaes.
Soluo:

81. Objetivo: Atualizar dados de FUNCIONRIOS tabela loc_funcionario


Devido ao custo de manuteno dos veculos, foi acordado que o valor das locaes deve ser
reajustado com um aumento de 2.3%. Ateno, este aumento dever afetar somente os
carros.
Soluo:

82. Objetivo: Atualizar dados de FUNCIONRIOS tabela loc_funcionario


Devido ao custo de manuteno das motocicletas, foi acordado que o valor das locaes
dever ser reajustado com um aumento de 5%. Ateno, este aumento dever afetar somente
as motocicletas.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

83. Objetivo: Atualizar dados de PROPRIETRIOS tabela loc_proprietario


Durante a auditoria, verificou-se que a proprietria Tamara Rozet foi cadastrada como
Pessoa Fsica ao invs de Pessoa Jurdica. Atualize a tabela de proprietrios para efetuar esta
correo.
Soluo:

84. Objetivo: Atualizar dados de VECULOS tabela loc_veiculo


O Diretor Yuri Gagari vendeu o veculo com placa DRV4397 para a Maria Linda Oliveira,
efetue as alteraes necessrias para efetivar a venda no CarLoca.
Soluo:

85. Objetivo: Atualizar dados de VECULOS tabela loc_veiculo


O veculo de placa POO3456 foi cadastrado com a cor AZUL ano invs de Prata. crie uma
instruo SQL para alterar este veculo.
Soluo:

86. Objetivo: Atualizar dados de BANCOS tabela loc_agencia_banco


A matriz do banco 38 mudou para a Av. Paulista, 534. Altere a tabela loc_agencia_banco com
o novo endereo.
Soluo:

87.
Objetivo: Update simples
Os grupos de locao que contm ar condicionado sofreram um reajuste de 80% de
acrescmo na locao diria. Escreva a instruo SQL que determina essa execuo.
Confirme a transao pendente.
Soluo:

88.
Objetivo: Update com SubConsulta
1o.comando Insert: Crie um funcionario na tabela LOC_FUNCIONARIO e associe um
departamento j existente para ele.
2o comando Update: Atualize o salrio desse funcionrio como sendo a mdia de salario do
departamento associado a ele.

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

89.
Objetivo: Update com SubConsulta
1o comando DDL: Crie uma coluna
VAL_MED_LOCACAO NUMBER(10,2)

na

tabela

LOC_Cliente

chamada

2o comando Update: Atualize a coluna criada como sendo o valor mdio de locaes para
cada cliente.
Soluo:

90.
Objetivo: Update Simples
Atualize o valor da coluna VL_TOTAL da tabela loc_item_locacao Os contedos da coluna
VL_TOTAL da tabela LOC_PEDIDO_LOCACAO no esto equalizados com a somatria.
Essa coluna deve receber o seguinte clculo: QT_DIAS * VL_LOCACAO
Soluo:

91.
Objetivo: Update com SubConsulta
Os contedos da coluna VL_TOTAL da tabela LOC_PEDIDO_LOCACAO no esto
equalizados com a somatria
dos seus respectivos itens de locao. A comparao deve ser feita entre a somatria da
coluna VL_TOTAL
da tabela LOC_ITEM_LOCACAO comparado com a coluna VL_TOTAL da tabela
LOC_PEDIDO_LOCACAO.
Soluo:

92.
Objetivo: Update com SubConsulta
1o comando DDL: Crie uma coluna na tabela LOC_Cliente chamada NR_ESTRELAS
NUMBER(1)
2o comando Update: Atualize a coluna criada usando como base o valor mdio de locaes
atendidas pelo funcionrio.
Caso a mdia de locaes atendidas esteja entre
deve ser igual a 1

0 e 1000, a coluna nmero de estrelas

Caso a mdia de locaes atendidas esteja entre 1001 e 5000, a coluna nmero de estrelas
deve ser igual a 2
Caso a mdia de locaes atendidas esteja entre 5001 e 15000, a coluna nmero de estrelas
deve ser igual a 3

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Caso a mdia de locaes atendidas esteja entre 15001 e 45000, a coluna nmero de estrelas
deve ser igual a 4
Caso a mdia de locaes atendidas seja > 45000 a coluna nmero de estrelas deve ser igual
a5
Soluo:

93.
Objetivo: Update com SubConsulta
Todos os veculos dos proprietrios que residem no bairro SANTANA devem ser inativados,
ou seja, o status deve ser atualizado
para "I"(inativo). Escreva a instruo SQL que realizar essa tarefa.
Soluo:

94.
Objetivo: Update com SubConsulta
Todos as estrelas dos clientes devem ser atualizadas. Utilize a seguinte regra:
Se a mdia de locaoes do cliente for menor do que 200, o nmero de estrelas = 1
Se a mdia de locaoes do cliente esitver entre 201 e 500 o nmero de estrelas = 2
Se a mdia de locaoes do cliente esitver entre 501 e 1000 o nmero de estrelas = 3
Se a mdia de locaoes do cliente esitver entre 1001 e 3000 o nmero de estrelas = 4
Se a mdia de locaoes do cliente for maior do que 3001, o nmero de estrelas = 5
Escreva esse comando em uma nica instruo SQL
Soluo:

95.
Objetivo: Update com SubConsulta
Todos as pedidos feitos pelos clientes da cidade de AMERICANA esto sob investigao.
Nesse sentido, atualize o status do pedido para "I"(inativo).
Escreva esse comando em uma nica instruo SQL
Soluo:

96.
Objetivo: Update simples
Para os clientes que esto sem o nmero de FAX e que possuem nmero de telefone, monte
uma instruo que
faa com que o nmero de telefone seja igual ao nmero de FAX.

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:
@@@@@

97.

Objetivo: Update simples

No foi possvel executar a instruo SQL abaixo. Favor corrigir a instruo, garantindo que
o comando abaixo seja executado com sucesso. Aps a correo, confirme a transao
pendente.

98.
Objetivo: Update simples
No foi possvel executar a instruo SQL abaixo. Justifique o problema. Como seria possvel
corrigir? Desenvolva essas instrues SQL para que isso ocorra

99.

Objetivo: Update simples

No foi possvel executar a instruo SQL abaixo. Justifique o problema. No corrija a


instruo, apenas justifique.

100. Objetivo: Update simples

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


No foi possvel executar a instruo SQL abaixo. Justifique o problema. No corrija a
instruo, apenas justifique.

DELETE SIMPLES

101. Objetivo: Delete simples


Elimine o cliente de cdigo 51. Escreva a instruo SQL que consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

102. Objetivo: Delete simples


Elimine um dos estados que voc cadastrou no exerccio de Insert. Escreva a instruo SQL
que consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

103. Objetivo: Delete simples


Elimine uma das operadoras que voc cadastrou no exerccio de Insert. Escreva a instruo
SQL que consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

104. Objetivo: Delete simples

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Elimine o departamento Financeiro da tabela de departamentos. Confirme a transao.
Soluo:

105. Objetivo: Delete simples


Elimine um dos bancos que voc cadastrou no exerccio de Insert. Escreva a instruo SQL
que consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

106. Objetivo: Delete simples


Elimine um dos funcionrios que voc cadastrou no exerccio de Insert. Escreva a instruo
SQL que consiga realizar essa tarefa
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

107. Objetivo: Delete complexo


Elimine um dos pedidos que voc cadastrou no exerccio de Insert.
O que ocorreu ? Justifique ?
Tente eliminar os itens de pedido associados a esse pedido
O que ocorreu ? Justifique ?
Tente agora eliminar o pedido do incio desse exerccio. Isso foi possvel?
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

108. Objetivo: Delete simples/complexo


Elimine um dos veculos que voc cadastrou no exerccio de Insert.
O que ocorreu ? Justifique ?
Caso ocorra algum erro, tente corrigir.
Confirme a transao
Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

109. Objetivo: Delete simples/complexo


A instruo abaixo est com erro de sintaxe. Corrija o comando e confirme a transao.

Faa uma pesquisa na tabela para verificar se o comando foi executado com sucesso.
Soluo:

110. Ao tentar deletar uns registros da tabela loc_depto ocorreu o erro


abaixo:
ORA-02292: integrity constraint (CARLOCA.FK_LOC_FUNDEP) violated - child record
found
Justifique o motivo do erro.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

111.

Exclua da lista de bancos o Banco Alvorada

Soluo:

112.

Exclua da tabela de funcionrios os registros 20 e 21.

Soluo:

113. Exclua da tabela de proprietrios o proprietrio de cdigo 1. Isso foi


possvel? Justifique sua resposta?
Soluo:

114.

Objetivo: Delete simples

No foi possvel executar a instruo SQL abaixo. Justifique a mensagem de erro

115.

Objetivo: Delete simples

No foi possvel eliminar a funcionrio abaixo, porm ela est cadastrada na tabela de
funcionrios. Explique o que aconteceu

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

116.

SELECT SIMPLES

Objetivo: Select Simples

Crie uma instruo SQL que exiba todos os dados da tabela de Bancos ? Exiba essa consulta em
ordem de nome de banco
Soluo:

117.

Objetivo: Select Simples

Crie uma instruo SQL que exiba todos os dados da tabela de Proprietrios? Exiba essa consulta
em ordem de nome de proprietrio
Soluo:

118.

Objetivo: Select Simples

Crie uma instruo SQL que exiba todos os dados da tabela de Endereo do proprietrio? Exiba essa
consulta em ordem de cdigo de proprietrio
Soluo:

119.

Objetivo: Select Simples

Crie uma instruo SQL que exiba todos os dados da tabela de Veculos? Exiba essa consulta em
ordem de cdigo de proprietrio
Soluo:

120. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Operadoras de telefonia? Exiba essa
consulta em ordem de nome de operadora
Soluo:

121. Objetivo: Select Simples

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Crie uma instruo SQL que exiba todos os dados da tabela de Agncias Bancrias
(LOC_AGENCIA_BANCO) ? Exiba essa consulta em ordem de cdigo de banco e apelido da
agencia
Soluo:

122. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Operadoras de carto de crdito ?
Exiba essa consulta em ordem de nome de banco
Soluo:

123. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Operadoras de carto de crdito?
Soluo:

124. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Grupos de locao (LOC_GRUPO)?
Exiba essa consulta em ordem descendente de valor de locao
Soluo:

125. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Clientes? Exiba essa consulta em
ordem de nome de cliente
Soluo:

126. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Endereo de clientes? Exiba essa
consulta em ordem de cdigo de cliente

Soluo:

127. Objetivo: Select Simples

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Crie uma instruo SQL que exiba todos os dados da tabela de Clientes Pessoas Fsicas? Exiba essa
consulta em ordem de cdigo de cliente

Soluo:

128. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Clientes Pessoas Jurdicas? Exiba
essa consulta em ordem de cdigo de cliente
Soluo:

129. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Estado ? Exiba essa consulta em
ordem de sigla de Estado
Soluo:

130. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Cidade ? Exiba essa consulta em
ordem de sigla de Estado
Soluo:

131. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Departamento ? Exiba essa consulta
em ordem de nome de departamento
Soluo:

132. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Funcionrios ? Exiba essa consulta
em ordem descendente de nome do Funcionrio
Soluo:

133. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de Pedidos de Locao? Exiba essa
consulta em ordem descendente de Nmero de Pedido
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


134. Objetivo: Select Simples

Crie uma instruo SQL que exiba todos os dados da tabela de Itens de Pedidos de Locao? Exiba
essa consulta em ordem descendente de Itens de Pedido de Locao
Soluo:

135. Objetivo: Select Simples


Crie uma instruo SQL que exiba todos os dados da tabela de DDD (LOC_DDD)? Exiba essa
consulta em ordem ascendente de cidade
Soluo:

136. Objetivo: Consulta where


Crie uma pesquisa que exiba o nome das 10 primeiras cidades do estado de So Paulo que iniciam
com a letra A
Soluo:

137. Objetivo: Consulta where


Crie uma instruo SQL que exiba o nome, a data de incio, o CPF e o salrio de todos os
funcionrios cadastrados no departamento de cdigo 42. Exiba os funcionrios que ganham o maior
salrio.

Soluo:

138. Objetivo: Consulta que utiliza a funo decode


Crie uma instruo SQL que exiba o nome, o tipo de cliente, o cdigo, o nmero de estrelas e o
telefone dos clientes. Caso o tipo de cliente for J , exiba o texto Pessoa Jurdica. Caso seja F,
exiba o nome Pessoa Fsica.

Soluo:

139. Objetivo: Consulta where


Crie uma pesquisa que retorne o nome e salrio de todos os funcionrios possuem o cargo de
'Analista de Atendimento Sr'
Soluo:

140. Objetivo: Substr


Crie uma pesquisa que retorne os 30 primeiros dgitos da descrio do cfo e os 120 primeiros
dgitos da aplicao do cfo.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

141. Objetivo: Tratamento de Literais com colunas da tabela


Crie uma pesquisa que consiga exibir o seguinte resultado?
Soluo:

142. Objetivo: Consulta que utiliza a funo decode


Crie uma pesquisa que exiba o nome do proprietrio, o telefone. Caso o proprietrio seja pessoa
fsica, exiba o nmero do CPF. Caso seja pessoa jurdica, exiba o nmero do CGC.
Soluo:

143. Objetivo: Tratamento de funo de linha UPPER, LOWER e INITCAP


Crie uma pesquisa que consiga exibir o seguinte resultado ?

Soluo:

144. Objetivo: clasula WHERE


Crie uma pesquisa que mostre o cdigo, o nome dos clientes, o telefone e as estrelas para todos os
clientes tenham o seu cdigo cadastrados como nmero par. Classifique essa consulta por nome do
cliente em ordem descendente?
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


145. Objetivo: clasula WHERE

Crie uma pesquisa que mostre o cdigo, o nome dos clientes, o telefone e as estrelas para todos os
clientes que tenham a palavra S/A cadastrada em seu nome?
Soluo:

146. Objetivo: Instruo SQL Simples


O comando abaixo contm erro de sintaxe ? Corrija !
SELECT CD_PROPRIETARIO, NM_PROPRIETARIO, CID, TESTEXPTO
FROM LOC_PROPRIETA;
*
ERRO na linha 2:
ORA-00942: table or view does not exist
Soluo:

147. Objetivo: Instruo SQL Simples


O comando abaixo contm erro de sintaxe ? Corrija !
SELECT CODIGO_CLIENTE, NOME_CLIENTE FROM LOC_CLIENTE WHRE
substr(nm_cliente,1,1) = 'A';
ORA-00933: SQL command not properly ended
Soluo:

148. Objetivo: Instruo SQL Simples


Escreva a instruo SQL que exiba o resultado abaixo: 'Eu tenho 7200 dias de vida'. O nmero de
dias de vida deve ser o clculo de sua data de nascimento com a data atual (sysdate)?
Soluo:

149. Objetivo: Instruo SQL Simples


Escreva a instruo SQL que exiba o resultado abaixo: 'Eu tenho 702 meses de vida'. Os nmeros
de meses de vida deve ser o clculo de sua data de nascimento com a data atual (sysdate)?
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


150. Objetivo: Instruo SQL Simples
Escreva uma instruo SQL que exiba os seguintes dados:

O nome do funcionrio, o valor do salrio e o seu valor do salrio anual.


Soluo:

151. Objetivo: Instruo SQL Simples


Escreva uma instruo SQL que exiba os seguintes dados:
O maior, o menor e a mdia de salrios de todos os funcionrios cadastrados.
Soluo:

152. Objetivo: Instruo SQL Simples


Escreva uma instruo SQL que exiba os seguintes dados:
Exiba todos os dados dos funcionrios somente para os funcionrios que ganham mais de R$
4.000,00. Classifique essa consulta por ordem de maior salrio.
Soluo:

153. Objetivo: Instruo SQL Simples


Escreva uma instruo SQL que exiba os seguintes dados:
Exiba todos os dados dos pedidos de locaes realizadas pelos clientes no projeto CARLOCA
(tabela LOC_PEDIDO_LOCACAO) durante o perodo de 22/10/2005 a 24/11/2005. Classifique essa
consulta por ordem de nmero de pedido.
Soluo:

154. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba o nmero da placa do veculo, o cdigo do proprietrio, o tipo do
veculo, o combustvel, a km atual e o modelo do veculo. Exiba exiba os veculos que tem o
combustvel = "ALCOOL" e com a kilometragem > que 5000.
Soluo:

155. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os seguintes dados do pedido de locao: Nmero do pedido, cdigo
do cliente, data de locao no formato dd/mm/aaaa e o valor total do pedido. Exiba somente os
pedidos dos clientes que tem a data de retirada foi realizada no ms de Setembro/2005.
Soluo:

156. Objetivo: Instruo SQL Simples

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Crie uma consulta que exiba os seguintes dados do pedido de locao: Nmero do pedido, cdigo
do cliente, data de locao no formato dd/mm/aaaa e o valor total do pedido. Exiba somente os
pedidos dos clientes de cdigo 40,41,9 e 10 e o valor total de locao < 5000 e a data de locao
foi realizada no ms de Setembro/2005.
Soluo:

157. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os proprietrios que esto com o tipo = "J" (pessoa jurdica) e que
tenham o nmero do CGC em branco
Soluo:

158. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os endereos dos proprietrios que esto com o bairro cadastrados
como CENTRO, LUZ e STA. EFIGENIA. Ordene a consulta por ordem de nome de bairro
Soluo:

159. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os endereos dos proprietrios que esto com o bairro cadastrados
como CENTRO, LUZ e STA. EFIGENIA e que o tipo de endereo seja "Comercial". Ordene a
consulta por ordem de nome de bairro
Soluo:

160. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os seguintes dados do funcionrio: Cdigo, Nome, data de inicio no
formato brasileiro (dd/mm/aaaaa), codigo do departamento, valor do salrio e percentual de
comisso do funcionrio
Soluo:

161. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os seguintes dados do funcionrio: Cdigo, Nome, data de inicio no
formato brasileiro (dd/mm/aaaaa), codigo do departamento, valor do salrio, salario anual,
percentual de comisso, valor do percentual de comisso sobre o salrio do funcionrio
Soluo:

162. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os seguintes dados do funcionrio: Cdigo, Nome, data de inicio no
formato brasileiro (dd/mm/aaaaa), codigo do departamento,valor do salrio, salario anual,
percentual de comisso, valor do percentual de comisso sobre o salrio do funcionrio. Exiba
somente os funcionrios que ganham mais do 5% de comisso

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

163. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os dados do funcionrio que tem o maior cargo dentro da empresa.
(codigo do gerente em branco)
Soluo:

164. Objetivo: Instruo SQL Simples


Insira um proprietrio e um veculo associado a esse proprietrio.
Crie uma consulta que exiba os seguintes dados: Nmero da placa do veculo, modelo, cdigo e
nome do proprietrio. Exiba somente os veculos que NO tenham participado de nenhuma
locao.
Soluo:

165. Objetivo: Instruo SQL Simples


Crie uma consulta que exiba os seguintes dados: Nmero da placa do veculo, modelo, cdigo e
nome do proprietrio. Exiba somente os veculos que tenham participado de alguma locao.
Soluo:

166. Objetivo: Instruo SQL Simples


Monte uma consulta que exiba os itens de pedido que esto com diferenas de valores.
Faa a comparao entre as colunas VL_LOCACAO * QT_DIAS <> VL_TOTAL da tabela
LOC_ITEM_LOCACAO
Soluo:

167. Objetivo: Instruo SQL Simples


Monte uma consulta que exiba as seguintes informaes: Codigo e nome do funcionario. Exiba
tambm
o nmero de estrelas do funcionrio e uma coluna "falsa" que identifique a descrio dessa estrela.
Quando o nmero de estrelas do funcionrio for = 1, exiba a mensagem "Funcionrio Nvel
estagirio'.
Quando o nmero de estrelas do funcionrio for = 2, exiba a mensagem "Funcionrio Nvel bsico'.
Quando o nmero de estrelas do funcionrio for = 3, exiba a mensagem "Funcionrio Nvel
Intermedirio'.

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Quando o nmero de estrelas do funcionrio for = 4, exiba a mensagem "Funcionrio Nvel Senior'.
Quando o nmero de estrelas do funcionrio for = 5, exiba a mensagem "Funcionrio Gold'.
Soluo:

168. Objetivo: Instruo Select


Monte uma consulta que exiba as seguintes informaes: cdigo, nome e tipo do proprietario, Caso
o proprietrio seja pessoa fsica (TP_PROPRIETARIO=F) exiba o texto "Pessoa Fsica". Caso seja
J, exiba "Pessoa Juridica".
Soluo:

169. Objetivo: Instruo Select


Monte uma consulta que exiba as seguintes informaes: cdigo, nome e nmero de estrelas do
cliente, Caso o cliente
esteja sem estrelas exiba a mensagem "Erro crtico, reprocessar gera_estrelas".
Caso o cliente tenha 1 estrela exiba "Cliente Papel"
Caso o cliente tenha 2 estrela exiba "Cliente Lato"
Caso o cliente tenha 3 estrela exiba "Cliente Bronze"
Caso o cliente tenha 4 estrela exiba "Cliente Prata"
Caso o cliente tenha 5 estrela exiba "Cliente Ouro"
Soluo:

170. Objetivo: Instruo Select


Monte uma consulta que exiba quais so os nmeros de estrelas cadastradas na tabela de clientes
Soluo:

171. Objetivo: Instruo Select


Monte uma consulta que exiba quais so os status cadastradas na tabela de pedido de locao
Soluo:

172. Objetivo: Instruo Select


Monte uma consulta que exiba quais so os departamentos cadastrados na tabela de funcionrios
Soluo:

173. Objetivo: Instruo Select


Monte uma consulta que exiba quais so os departamentos cadastrados na tabela de funcionrios
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

174. Objetivo: Instruo Select


Monte uma consulta que exiba quais so os gerentes cadastrados e quantos funcionrios cada um
tem alocado na tabela de funcionrio
Soluo:

175. Objetivo: Instruo Select


Exiba o cdigo e o nome das cidades cadastradas para os endereos dos proprietrios. No exiba
valores duplicados.
Soluo:

176. Objetivo: Instruo Select


Monte uma consulta que exiba o numero da placa e o modelo do veiculo, o cdigo e nome do
proprietrio para todos os veculos que ainda no foram locados.
Soluo:

177. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos funcionrios que ainda no atenderam locaes feitas
pelos clientes.
Soluo:

178. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes que ainda no fizeram locaes.
Soluo:

179. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes e dos veculos locados por esse cliente.
Coloque um filtro nessa consulta para que se possa selecionar determinado cliente, por meio de
sua chave primria.
Soluo:

180. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade total de veculos e o valor total locado agrupado por
ano do projeto Carloca?
Soluo:

181. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade total de veculos e o valor total locado agrupado por
ano do projeto Carloca?
Faa com que seja exibido todos os anos a partir de 2000 at o presente ano. Para os anos que
no tiveram locaes, exibir o valor 0 (zero).

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

182. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade total de veculos e o valor total locado agrupado por
ms do projeto Carloca?
Soluo:

183. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade total de veculos e o valor total locado agrupado por
ms do projeto Carloca? Faa com que seja exibido todos os meses do ano. Para os meses que
no tiveram locaes, exibir o valor 0 (zero).
Soluo:

184. Objetivo: Instruo Select


Monte uma consulta que exiba os pedidos onde a data de locao tenha ao menos uma data
MAIOR de retirada de veculo? Essa data de retirada est localizada na tabela
LOC_ITEM_LOCACAO
Soluo:

185. Objetivo: Instruo Select


Monte uma consulta que exiba os itens de pedidos onde a data de retirada seja MAIOR do que a
data de entrega do veculo?
Soluo:

186. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes e de seus respectivos endereos. Caso o
cliente seja do tipo PF (Pessoa Fsica), os dados de endereo esto na tabela LOC_CLI_FISICA.
Caso ele seja PJ (Pessoa Juridica) os dados de endereo esto na tabela LOC_CLI_JURIDICA
Soluo:

187. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes e de seus respectivos endereos. Somente
exiba os dados dos clientes que tenham entre 30 e 40 anos.
Soluo:

188. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes e de seus respectivos endereos. Somente
exiba os dados dos clientes que tenham idade entre nmero mpar
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

189. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade de clientes agrupada por Ms e Ano de nascimento.
Classifique essa consulta em ordem de Ms e Ano de nascimento(da mais antiga para a mais
nova).
Soluo:

190. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes e de seus respectivos endereos. Somente
exiba os dados dos clientes que tenham o CPF vlido. (solicite ao seu professor a funo que
valida o CPF).
Soluo:

191. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos clientes e de seus respectivos endereos. Somente
exiba os dados dos clientes que tenham o CPF invlido. (solicite ao seu professor a funo que
valida o CPF).
Soluo:

192. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos proprietrios que tenham email cadastrado, porm no
contedo do email no existe a letra "@" cadastrada.
Soluo:

193. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos proprietrios e de seus respectivos endereos.
Somente exiba os dados dos proprietrios que tenham o CGC vlido. (solicite ao seu professor a
funo que valida o CGC).
Soluo:

194. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos proprietarios e de seus respectivos endereos.
Somente exiba os dados dos proprietarios quetenham o CGC invlido. (solicite ao seu professor a
funo que valida o CGC).
Soluo:

195. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos proprietarios. Somente exiba os dados dos
proprietarios que tenham o CPF cadastrado e o tipo do cliente pessoa jurdica.

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

196. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos proprietarios. Somente exiba os dados dos
proprietarios que tenham o CGC cadastrado e o tipo do cliente pessoa fsica.
Soluo:

197. Objetivo: Instruo Select


Monte uma consulta que unifique as 2 consultas anteriores em uma nica instruo SQL. (utilize a
clusula UNION ALL)
Soluo:

198. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade de automveis agrupados por tipo de automveis.
Classifique essa consulta pelos tipos que tem maiores quantidades de automveis
Soluo:

199. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade de automveis agrupados por Modelo de automvel.
Classifique essa consulta por modelo
Soluo:

200. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade de automveis agrupados por cores. Classifique essa
consulta por cores.
Soluo:

201. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade de automveis agrupados por Combustvel.
Classifique essa consulta por combustvel
Soluo:

202. Objetivo: Instruo Select


Monte uma consulta que exiba os dados dos veculos e os pedidos dos veculos para todos os
veculos locados abaixo da locao diria, indicada na tabela LOC_GRUPO
Soluo:

203. Objetivo: Instruo Select

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Monte uma consulta que exiba os dados dos veculos e o seu respectivo grupo para todos os
veculos que tenham ar condicionado.
Soluo:

204. Objetivo: Instruo Select


Monte uma consulta que exiba os seguintes dados: nmero do pedido, data do pedido, valor total
do pedido, nome do cliente, nome do funcionario, para todos os pedidos que foram realizados
locaes em uma 4a.feira.
Soluo:

205. Objetivo: Instruo Select


Monte uma consulta que exiba os seguintes dados: nmero do pedido, data do pedido, valor total
do pedido, nome do cliente, nome do funcionario, para todos os pedidos que foram realizados
locaes na 1a. quinzena do ms.
Soluo:

206. Objetivo: Instruo Select


Monte uma consulta que exiba os seguintes dados: nmero do pedido, data do pedido, valor total
do pedido, nome do cliente, nome do funcionario, para todos os pedidos que foram realizados
locaes no mesmo dia da semana da data de hoje.
Soluo:

207. Objetivo: Instruo Select


Monte uma consulta que exiba a quantidade de cidades agrupadas por estado. Exiba somente os
estados que contm mais de 5 cidades
Soluo:

208. Objetivo: Instruo Select


Monte uma consulta que exiba todas as cidades que tenham a letra Z ou B cadastradas em seu
nome e que necessariamente sejam do estado de Minas Gerais (MG).
Soluo:

SELECT COM AGRUPAMENTO DE COLUNAS


209. Objetivo: Instruo SQL Simples
Escreva uma instruo SQL que exiba os seguintes dados:
Exiba quantos pedidos de locao temos cadastrados e o valor total de locaes agrupado por ms
e ano (yyyy/mm) no projeto CARLOCA.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

210. Objetivo: Instruo SQL Simples


Escreva uma instruo SQL que exiba os seguintes dados:
Exiba a quantidade total de funcionrios cadastrados no projeto CARLOCA. Somente exiba os
funcionrios que ganham comisso
Soluo:

211.

Objetivo: Instruo SQL Simples

Escreva uma instruo SQL que exiba os seguintes dados:


Exiba a quantidade total de pedidos atendido pelo funcionrio de nmero 4 cadastrado no projeto
CARLOCA.
Soluo:

212. Objetivo: Instruo SQL Simples


Escreva uma instruo SQL que exiba os seguintes dados:
Exiba a quantidade total de veculos cadastrados que tem o combustvel como ALCOOL e que da
cor PRETA ?
Soluo:

213. Objetivo: GROUP BY


Crie uma pesquisa que retorne a quantidade de carros agrupada por tipo de combustvel.
Soluo:

214. Objetivo: GROUP BY


Crie uma pesquisa que mostre a receita diria (valor total de locao) agrupada por data de
locao?
Soluo:

215. Objetivo: Trabalhar com DISTINCT, WHERE, JOIN, GROUP BY


Crie uma consulta que retorne a quantidade de clientes que pagaram em dinheiro o valor entre 400
e 600.
Soluo:

216. Objetivo: Decode e Group By

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Crie uma pesquisa que retorne a quantidade de proprietrios agrupada por 'Pessoa Fsica' ou
'Pessoa Jurdica'
Soluo:

217. Objetivo: Trabalhar com Where


Crie uma pesquisa que retorne o valor gasto pela empresa 'MOVEIS RIBEIRO LTDA' no ano de
2005.
Soluo:

218. Objetivo: Group By


O comando abaixo contm erro de sintaxe em sua escrita. Tente encontrar o erro, corrigindo a
consulta para que o resultado seja exibido?
SQL>
SELECT DECODE(TP_PAGTO,'DI','DINHEIRO','CH','CHEQUE','BB','BOLETO','OUTROS'), COUNT(1)
FROM LOC_LOCACAO
WHERE

DT_RETIRADA > SYSDATE-200;

*
ERROR at line 1:
ORA-00937: not a single-group group function

Soluo:

219. Objetivo: Trabalhar com Join

JOIN

Crie uma pesquisa que exiba o nome do proprietrio, o endereo, o tipo de endereo, o telefone, o
tipo de proprietrio para todos os proprietrios cadastrados? (mesmos os proprietrios que no
tenham endereo cadastrado). Quando o tipo do proprietrio for do tipo J exibir o literal Pessoa
Jurdica , quando for F exibir Pessoa Fisica e em caso contrrio, exibir No definido
Soluo:

220. Objetivo: Trabalhar com Join


Crie uma pesquisa que mostre o cdigo, o nome dos proprietrios e sua cidade para todos os
proprietrios residentes nos bairros centro e santana ? *veja como estes bairros esto cadastrados
e faa os ajustes necessrios para que a informao possa ser exibida
Soluo

221. Objetivo: Trabalhar com Join


Crie uma pesquisa que mostre o nmero da placa do veculo, sua KM atual, o tipo de combustvel,
o status, cor e a descrio do grupo do veculo. Classifique essa consulta por nmero da placa do
veculo.
Soluo:

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

222. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o nmero da placa dos carros que possuem ar-condicionado (utilize
as tabelas loc_veiculo e loc_grupo)
Soluo:

223. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o cdigo da operadora nome da operadora, a cidade do DDD e a
descrio do prefixo. ( explore as tabelas loc_operadora, loc_operadora_ddd, loc_ddd,
loc_ddd_prefixo e loc_prefixo )
Soluo:

224. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne as seguintes informaes: o nome do proprietrio apenas seus 15
primeiros dgitos, o numero da placa do veculo, o combustvel do veculo, o modelo do veiculo, e
os itens locados do proprietrio: numero do pedido, data de retirada e valor do pedido.
(explore as tabelas loc_proprietario, loc_veiculo, loc_item_locacao)
Soluo:

225. Objetivo: Trabalhar com Join


Crie uma consulta que retorne o nome da cidade, a sigla do estado, o bairro da cidade e a
quantidade total de agncia agrupada por bairro, cidade e estado.
Soluo:

226. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o nome do funcionrio ( somente os 20 primeiros dgitos) , valor do
salrio, percentual de comisso, o valor do salrio com o percentual de comisso aplicado e o
nome do departamento onde o funcionrio esta locado. Somente exiba os dados dos funcionrios
cadastrados no departamento 10, 42 e 50 ?
Soluo:

227. Objetivo: Trabalhar com Join


Crie uma pesquisa que mostre a quantidade total de proprietrio de veculos agrupado por Cidade ?
Mostre o nome da cidade
Soluo:

228. Objetivo: Trabalhar com Join


Crie uma pesquisa que mostre a quantidade total de proprietrio de veculos agrupado por Estado e
Cidade ? Mostre o nome da cidade

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

229. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o nome do cliente, seu numero de estrelas, a quantidade total de
locaes realizadas, a data mais recente de locao e a data mais antiga de locao para todos os
clientes cadastrados
Soluo:

230. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba os dados dos funcionrios e seus respectivos gerentes conforme
layout abaixo. Inclua a coluna salrio do funcionrio e o cargo do gerente. Tambm inclua a coluna
Qtde_dias_funcionario(que o calculo da quantidade de dias como funcionrio da empresa).
Classifique a consulta por ordem de nome de funcionrio.
Soluo:

231. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba a quantidade de funcionrio, o valor de salrio gasto agrupado por
departamento. Porm somente exiba os departamentos que tenha mais do que 3 funcionrios.
Classifique essa consulta pelo maior gasto de salrio no departamento.
Soluo:

232. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o nome do cliente, seu numero de estrelas, a quantidade total de
locaes realizadas, a data mais recente de locao e a data mais antiga de locao para todos os
clientes cadastrados. Somente exiba os clientes que tenham mais do que 3 locaes realizadas
Soluo:

233. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne a quantidade de funcionrio e o valor gasto de salrio, agrupado por
departamento. Exiba o nome do departamento ?

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

234. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne a soma do valor total de pedido de locao agrupado por cliente.
Exiba o nome do cliente e classifique a consulta pelos maiores clientes.
Soluo:

235. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o numero da placa do veculo, o modelo do veiculo, o nome do
proprietrio, o maior valor de locao, o menor valor de locao e o valor mdio de locao para
todos os veculos cadastrados.
Soluo:

236. Objetivo: Trabalhar com Join


Escreva uma instruo SQL que exiba os seguintes dados :
O nome do funcionrio, o valor do salrio, o valor total de vendas at hoje realizada, o valor total
de comisso aplicando o percentual de comisso sobre esse valor total de vendas. Caso o
funcionrio no tenha feito locaes, exibir o valor 0.
Soluo:

237. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba os funcionrios que mais fazem locaes. Exiba o nome do
funcionario, seu cargo, a quantidade total de locaes atendidas e o valor total de locaes durante
o ano letivo de 1999 (janeiro e dezembro). Somente exiba os funcionrios que tenham mais do que
4 locaes atendidas
Soluo:

238. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba o nome do grupo de veculo, e o valor total de vendas realizadas por
ano e ms (yyyy/mm) para cada grupo de veculo. Classifique a consulta em ordem decrescente de
valor total de locaes?
Soluo:

239. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba o nome do grupo de veculo, e o valor total de vendas realizadas por
ano e ms (yyyy/mm) para cada grupo de veculo. Classifique a consulta em ordem decrescente de
valor total de locaes?
Soluo:

240. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba o numero do pedido de locao, a data de locao, o dia da semana
em que foi realizada a locao, o valor total da locao, o nome do cliente que fez a locao, o

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

nome do funcionrio que concluiu a locao e o nome do departamento onde o funcionrio est
alocado ? Classifique a consulta em ordem de pedido de locao?
Soluo:

241. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba a quantidade de clientes agrupada por estado e cidade ?
Soluo:

242. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba o nmero da placa do veculo, o modelo do veculo, a cor do veiculo
e a quantidade de dias que o veculo ficou locado para os clientes durante o ano de 1999 ?
Soluo:

Funes
243. Objetivo: Trabalhar com Funes
Escreva uma instruo SQL que exiba as seguintes informaes: Codigo do Funcionario, o
nome do funcionrio a data de incio, e quantos dias de trabalho o funcionrio j completou.
Exiba tambm a quantidade de meses que o funcionrio j trabalhou. Classifique a consulta
pelos funcionrios mais antigos da empresa ?
Soluo:

244. Objetivo: Trabalhar com Funes


Escreva uma instruo SQL que exiba a seguinte informao: 'Eu nasci no dia <data de
nascimento>, em <uma/um> <dia da semana>. Todas as palavras que estiverem entre <..>
devem ser substitudas pelos seus dados e utilizando os recursos do banco de dados Oracle?
Soluo:

245. Objetivo: Trabalhar com Funes


Escreve uma consulta que exiba uma grade de salrio. Exiba o nome do funcionrio, seu
cargo e seu salrio com a comisso j calculada. Caso o salrio esteja abaixo de 2.000, exibir
"Grade E". Caso o salrio estiver entre 2001 e 3500 exibir "Grade D". Caso o salrio estiver
entre 3501 e 5000 exibir "Grade C". Caso o salrio estiver entre 5001 e 7000 exibir "Grade
B" e Caso o salrio for maior do que 7001 exibir "Grade A"?
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


246. Objetivo: Trabalhar com Funes
Escreva uma consulta SQL que exiba a quantidade de pessoas e o valor total de salario que
gasto por departamento na empresa. Agrupe essa consulta por nome do departamento?
Soluo:

247. Objetivo: Trabalhar com Funes


Escreva uma consulta SQL que exiba a quantidade de pessoas e o valor total de salario que
gasto por departamento e por cargo na empresa. Agrupe essa consulta por nome do
departamento e por cargo?
Soluo:

248. Objetivo: Trabalhar com Funes


Monte uma consulta que exiba todos os dados dos funcionrios que exeram o papel de
Gerente na empresa? Exiba somente os 10 primeiros dgitos do nome do funcionrio, bem
como o dia da semana em que foi contratado.
Soluo:

249. Objetivo: Trabalhar com Funes


Monte uma consulta que exiba o maior salrio, o menor salrio, a mdia salarial, a quantidade
de pessoas agrupadas por departamento?
Soluo:

250. Objetivo: Trabalhar com Funes


Monte uma consulta que exiba o maior valor da locao, o menor valor de locao, a mdia
de locao, a quantidade de locaes agrupadas por data de locao?
Soluo:

251. Objetivo: Trabalhar com Funes


Monte uma consulta que exiba o maior valor da locao, o menor valor de locao, a mdia
de locao, a quantidade de locaes agrupadas por veiculo(nmero da placa e modelo)?
Soluo:

252. Objetivo: Trabalhar com Funes


Monte uma consulta que exiba o nome do proprietrio, seu cdigo, seu telefone e o tipo do
proprietrio. Caso o tipo do proprietrio seja F exiba Pessoa Fsica. Caso o tipo seja J

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


exiba Pessoa Jurdica. Exiba tambm o nmero do CPF e o nmero do CNPJ. Classifique
essas informaes por nome do proprietrio?
Soluo:

Subconsulta

253. Objetivo: Trabalhar com Subconsulta


Escreva uma consulta SQL que exiba a quantidade de pessoas e o valor total de salario que
gasto por cargo na empresa. Agrupe essa consulta por nome do cargo. Exiba somente os
cargos tenham o gasto maior do que a mdia total de salrio da empresa?
Soluo:

254. Objetivo: Trabalhar com Subconsulta


Escreva uma consulta SQL que exiba a quantidade total de pedidos que tenham o valor total
diferente da soma dos valores de seus respectivos itens de pedido cadastrados?
Soluo:

255. Objetivo: Trabalhar com Subconsulta


Escreva uma consulta SQL que exiba todos os pedidos que tenha seu valor total diferente das
quantidades de itens de pedido cadastradas?
Soluo:

256. Objetivo: Trabalhar com Subconsulta


Escreva uma consulta SQL que exiba todos os clientes que realizam locaes acima do valor
mdio de locaes realizadas?
Soluo:

257. Objetivo: Trabalhar com Subconsulta: Top N


Escreva uma consulta SQL que exiba todos os clientes que realizam locaes acima do valor
mdio de locaes realizadas? Exiba somente os 3 primeiros clientes em ordem de ranking
Soluo:

258. Objetivo: Trabalhar com Subconsulta: Top N


Escreva uma consulta SQL que exiba todos os funcionrios que concretizam locaes acima
do valor mdio de locaes concretizadas realizadas? Exiba somente os 4 primeiros
funcionrios em ordem de ranking
Soluo:

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


259. Objetivo: Trabalhar com Subconsulta: Top N
Escreva uma consulta SQL que exiba todos 3 maiores proprietrios em termos de locao do
projeto Carloca? Exiba somente os 4 primeiros funcionrios em ordem de ranking
Soluo:

260. Objetivo: Trabalhar com Subconsulta: Top N


Escreva uma consulta SQL que exiba todos 5 maiores veculos em termos de locao do
projeto Carloca? Exiba somente os 5 primeiros veculos em ordem de ranking
Soluo:

261. Objetivo: Trabalhar com Subconsulta: Top N


Escreva uma consulta SQL que exiba os 3 dias da semana em que so realizadas mais
locaes no projeto Carloca? Exiba somente os 3 primeiros dias em ordem de ranking
Soluo:

262. Objetivo: Trabalhar com Subconsulta


Crie uma consulta para exibir o nome, o salario, o nome do departamento de todos os
funcionarios que tem o mesmo departamento que o funcionrio Helio Gomes
Soluo

263. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba o nmero e o nome de todos os funcionrios que recebam mais
do que o salrio mdio geral da empresa. Classifique o resultado por ordem de maior salrio?
Soluo

264. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba o nmero e o nome de todos os funcionrios que recebem mais
do que o salrio mdio do seu respectivo departamento. Classifique o resultado por ordem de
maior salrio?
Soluo

265. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba o nome, o salario e o cargo de todos os funcionarios que se
reportem ao funcionrio Yuri Gagari?
Soluo

266. Objetivo: Trabalhar com Subconsulta

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Crie uma consulta que exiba quais os funcionrios que ganham mais do que a mdia de
salrio do seu prprio departamento?
Soluo

267. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba quais os veculos que no tenham participado de locaes at o
momento?
Soluo

268. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba quais os veculos que tenham participado de locaes at o
momento?
Soluo

269. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba quais os clientes que realizaram locaes at o momento?
Soluo

270. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba quais os clientes que ainda no realizaram locaes at o
momento?
Soluo

271. Objetivo: Trabalhar com Subconsulta


Crie uma consulta que exiba quais os departamentos que ainda no tem funcionrio
cadastrado?
Soluo

272. Objetivo: Trabalhar com WITH


Crie uma consulta que exiba quais os pedidos que est com o valor total cadastrado e que
este valor esteja diferente da soma dos itens de seu respectivo pedido?
Soluo

View

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


273. Objetivo: Trabalhar com View
Crie uma view chamada v_val_tot_depto que deve exibir o valor gasto total por
departamento. Exiba as seguintes colunas: codigo, nome do departamento e o valor total
gasto por departamento?
Soluo:

274. Objetivo: Trabalhar com View


Crie uma view chamada v_qtd_carro_tip_combustivel que deve retornar a quantidade de
carros agrupada por tipo de combustvel?
Soluo:

275. Objetivo: Trabalhar com View


Crie uma view chamada v_receita_diaria_locacao que mostre a receita diria (valor total de
locao) agrupada por data de locao?
Soluo:

276. Objetivo: Trabalhar com View


Crie uma view chamada v_receita_diaria_proprietario que exiba a receita diria por
proprietrio. O calculo da receita deve ser o valor total do veculo locado na data de locao?
Soluo:

277. Objetivo: Trabalhar com View


Crie uma view chamada v_qtd_proprietario_cidade que mostre a quantidade total de
proprietrio de veculos agrupado por Cidade? Mostre tambm o nome da cidade
Soluo:

278. Objetivo: Trabalhar com View


Crie uma view chamada v_val_tot_venda_func que deve exibir o valor total de locao
finalizada pelo funcionrio, bem como o valor total da comisso concretizada sobre as
locaes. Agrupe essas informaes por nome do funcionrio e por data de locao.
Soluo:

279. Objetivo: Trabalhar com View

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Crie uma view chamada v_ranking_cliente que retorne o nome do cliente, seu numero de
estrelas, a quantidade total de locaes realizadas, a data mais recente de locao e a data
mais antiga de locao para todos os clientes cadastrados? Exiba somente os 3 maiores
clientes em termos de valores de locao
Soluo:

280. Objetivo: Trabalhar com View


Crie uma view chamada v_ranking_veiculo que retorne o nome do veiculo, seu modelo e sua
cor, a quantidade de locaes realizadas e o valor total de locaes concludas at o presente
momento. Exiba somente os 4 maiores veculos em termos de valores
Soluo:

281. Objetivo: Trabalhar com View


Crie uma view chamada v_ranking_grupo_veiculo que exiba o nome do grupo de veculo, e o
valor total de vendas realizadas por ano e ms (yyyy/mm) para cada grupo de veculo.
Soluo:

282. Objetivo: Trabalhar com View


Crie uma view chamada v_qtd_cliente_estado que exiba a quantidade de clientes agrupada
por estado e cidade
Soluo:

283. Objetivo: Trabalhar com View


Crie uma view chamada v_depto_sem_func que exiba quais os departamentos que ainda no
tem funcionrio cadastrado
Soluo:

284. Objetivo: Trabalhar com View


Crie uma view chamada v_func_vip que exiba quais os funcionrios que ganham mais do que
a mdia de salrio do seu prprio departamento?
Soluo:

285. Objetivo: Trabalhar com View

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Escreva uma view chamada v_dias_maior_locacao que exiba os 3 dias da semana em que so
realizadas mais locaes no projeto Carloca? Exiba somente os 3 primeiros dias em ordem de
ranking
Soluo:

286. Objetivo: Trabalhar com View


Escreva uma view chamada v_cliente_top que exiba todos os clientes que realizam locaes
acima do valor mdio de locaes realizadas? Exiba somente os 3 primeiros clientes em
ordem de ranking
Soluo:

287. Objetivo: Trabalhar com View


Monte uma view chamada v_dados_proprietario que exiba o nome do proprietrio, seu
cdigo, seu telefone e o tipo do proprietrio. Caso o tipo do proprietrio seja F exiba
Pessoa Fsica. Caso o tipo seja J exiba Pessoa Jurdica. Exiba tambm o nmero do
CPF e o nmero do CNPJ. Classifique essas informaes por nome do proprietrio?
Soluo:

288. Objetivo: Trabalhar com View


Crie uma view chamada v_receita_diaria que mostre a receita diria (valor total de locao)
agrupada por data de locao?
Soluo:

289. Objetivo: Trabalhar com View


Crie uma view chamada v_qtd_car_tip_combustivel que retorne a quantidade de carros agrupada
por tipo de combustvel.
Soluo:

290. Objetivo: Trabalhar com View


Crie uma view chamada v_dados_func que exiba os dados dos funcionrios e seus respectivos
gerentes conforme layout abaixo. Inclua a coluna salrio do funcionrio e o cargo do gerente.
Tambm inclua a coluna Qtde_dias_funcionario(que o calculo da quantidade de dias como
funcionrio da empresa). Classifique a consulta por ordem de nome de funcionrio
Soluo:

291. Objetivo: Trabalhar com View

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Monte uma view chamada v_locacao_veiculo que exiba o maior valor da locao, o menor
valor de locao, a mdia de locao, a quantidade de locaes agrupadas por veculo
(nmero da placa e modelo)?
Soluo:

292. Objetivo: Trabalhar com View


Escreva uma view chamada v_valor_pedido_erro SQL que exiba os pedidos que tenham o
valor total diferente da soma dos valores de seus respectivos itens de pedido cadastrados?
Soluo:

SQL99: JOIN
293. Objetivo: Trabalhar com Join
Crie uma pesquisa que exiba o nome do proprietrio, o endereo, o tipo de endereo, o telefone, o
tipo de proprietrio para todos os proprietrios cadastrados? (mesmos os proprietrios que no
tenham endereo cadastrado). Quando o tipo do proprietrio for do tipo J exibir o literal Pessoa
Jurdica , quando for F exibir Pessoa Fisica e em caso contrrio, exibir No definido. Utilize a
nomenclatura de escrita do SQL99 para essa consulta
Soluo

294. Objetivo: Trabalhar com Join


Crie uma pesquisa que mostre o cdigo, o nome dos proprietrios e sua cidade para todos os
proprietrios residentes nos bairros centro e santana ? *veja como estes bairros esto cadastrados e
faa os ajustes necessrios para que a informao possa ser exibida. Utilize a nomenclatura de
escrita do SQL99 para essa consulta
Soluo

295. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o nmero da placa dos carros que possuem ar-condicionado (utilize
as tabelas loc_veiculo e loc_grupo). Utilize a nomenclatura de escrita do SQL99 para essa consulta
Soluo:

296. Objetivo: Trabalhar com Join


Crie uma consulta que retorne o nome da cidade, a sigla do estado, o bairro da cidade e a
quantidade total de agncia agrupada por bairro, cidade e estado. Utilize a nomenclatura de escrita
do SQL99 para essa consulta

Programao em Banco de Dados


Lista de Exerccios ( Projeto CarLoca)

Soluo:

297. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o nome do cliente, seu numero de estrelas, a quantidade total de
locaes realizadas, a data mais recente de locao e a data mais antiga de locao para todos os
clientes cadastrados. Utilize a nomenclatura de escrita do SQL99 para essa consulta
Soluo:

298. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba a quantidade de funcionrio, o valor de salrio gasto agrupado por
departamento. Porm somente exiba os departamentos que tenha mais do que 3 funcionrios.
Classifique essa consulta pelo maior gasto de salrio no departamento. Caso o departamento no
esteja cadastrado, exiba o valor zero. Utilize a nomenclatura de escrita do SQL99 para essa
consulta
Soluo:

299. Objetivo: Trabalhar com Join


Crie uma pesquisa que retorne o numero da placa do veculo, o modelo do veiculo, o nome do
proprietrio, o maior valor de locao, o menor valor de locao e o valor mdio de locao para
todos os veculos cadastrados. Utilize a nomenclatura de escrita do SQL99 para essa consulta
Soluo:

300. Objetivo: Trabalhar com Join


Crie uma pesquisa que exiba o numero do pedido de locao, a data de locao, o dia da semana
em que foi realizada a locao, o valor total da locao, o nome do cliente que fez a locao, o
nome do funcionrio que concluiu a locao e o nome do departamento onde o funcionrio est
alocado ? Classifique a consulta em ordem de pedido de locao? a nomenclatura de escrita do
SQL99 para essa consulta
Soluo:

Advanced SQL
301. Objetivo: Comando Insert com subconsulta
Exiba os funcionrios que ganham abaixo da mdia salarial de
seu departamento. Exiba o seu cdigo, o seu nome, o seu cargo
e o seu salrio
Soluo:

302. Objetivo: Comando Insert com subconsulta

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


a. Crie as tabelas abaixo: (Assuma o contedo 0 como default
para as colunas referentes a valores)
Tabela: LOC_CLIENTE_ANO_MES
ano_mes_locacao char(6),
cd_cliente
vl_total

number(08),
number(10,2) DEFAULT 0

Tabela: LOC_FUNCIONARIO_ANO_MES
ano_mes_locacao

char(6),

cd_func

number(5),

vl_total_locacao

number(10,2) DEFAULT 0,

vl_total_comissao number(10,2) DEFAULT 0,


vl_perc_comissao

number(11,2) DEFAULT 0

b.Desenvolva uma instruo insert para cada tabela que


atualize as informaes de forma correta para garantir a
extrao da informao. Omita os valores para que a clusula
DEFAULT seja acionada pela estrutura fsica da tabela.
Soluo:

303. Objetivo: Comando Insert com valor DEFAULT


Insira o Funcionrio Administrador que possui o cdigo 222
na tabela LOC_FUNCIONARIO_ANO_MES. Assuma para o anomes o
contedo 200803 e utilize os valores defaults para os
contedos de vl_total_locacao, vl_total_comissao e
vl_perc_comissao
Soluo:

304. Objetivo: Comando Multi-Insert

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Elimine todos os dados das tabelas LOC_FUNCIONARIO_ANO_MES e
LOC_CLIENTE_ANO_MES. Reescreva a instruo do exerccio 141 e
142 utilizando o conceito de Multi-Insert
Soluo:

305. Objetivo: Regular Clausula WITH


Selecione o nmero da placa do veculo, quantas vezes ele foi locao e o valor
total da locao para todos os veculos.
Sobre essa consulta monte outra que exiba a mdia de locao geral de todos os
veculos
Exiba ento todos os veculos, sua quantidade de locao e o valor total das
locaes realizadas para todos os veculos que so locados acima do valor mdio
de locao.
Soluo:

306. Objetivo: Comando Merge

Crie um comando merge que garanta que a informao da tabela


LOC_CLIENTE_ANO_MES fique sincronizada com as locaes feitas pelos
clientes. Caso o cliente nessa tabela no exista, insira a informao
originada da tabela LOC_PEDIDO_LOCACAO. Caso o cliente exista,
atualize a informao sobre o valor total de locaes realizadas.
Soluo:

307. Objetivo: Comando Merge

Crie um comando merge que garanta que a informao da tabela


LOC_FUNCIONARIO_ANO_MES fique sincronizada com as locaes
confirmadas pelos funcionarios. Caso o funcionrio nessa tabela no exista,
insira a informao originada da tabela LOC_PEDIDO_LOCACAO. Caso o
funcionrio exista, atualize a informao sobre o valor total de locaes
confirmadas, agrupadas por ano e ms.
Soluo:

308. Objetivo: Comando Delete com subconsulta


A funcionria Adriana Doretto ir mudar de funo. Elimine da
tabela LOC_FUNCIONARIO_ANO_MES esse funcionrio.
Soluo:

309. Objetivo: Regular Expression

Programao em Banco de Dados

Lista de Exerccios ( Projeto CarLoca)


Monte uma consulta que exiba o nome completo do funcionrio com o character *
a cada letra existente em seu nome :
Ex : Gustavo
Resultado : G*u*s*t*a*v*o*
Soluo:

310. Objetivo: Regular Expression


Crie a coluna ds_email varchar2(50) na tabela LOC_PROPRIETARIO. Crie uma
restrio que no permite que seja includo/alterado um email que no contenha o
caracter @. Ou seja, esse caracter, caso exista contedo, necessrio existir
como contedo para essa coluna.
Soluo:

Fim da Lista de Exerccios

You might also like