Escolar Documentos
Profissional Documentos
Cultura Documentos
SENAC
Grupo 01
Considere o seguinte esquema relacional e responda às questões apresentando o respectivo SQL1:
Cliente( cod_cliente, cliente, profissao, localidade)
Agencia( cod_agencia, agencia, localidade)
Conta( num_conta, tipo_conta, cod_cliente, cod_agencia, saldo)
Emprestimo( num_emprestimo, cod_cliente, cod_agencia, valor)
5. Quais os clientes que residem na mesma localidade das agências onde possuem
contas? R.:
SELECT cod_cliente
FROM Cliente, Agencia,Conta
WHERE Cliente.localidade = Agencia.localidade AND Cliente.cod_cliente
= Conta.cod_cliente AND Conta.cod_agencia = Agencia.cod_agencia
7. Quais os nomes dos clientes com a mesma profissão que o cliente com cod_cliente =
‘1234’? R.:
SELECT cliente
FROM Cliente
WHERE profissao = (SELECT profissao FROM Cliente
WHERE cod_cliente=’1234’)
Classified as Internal
FACULDADE DE TECNOLOGIA
SENAC
8. Listar as contas (num_conta, saldo) da agência cujo cod_agencia = ‘123’, por ordem decrescente do seu
valor de saldo.
R.:
SELECT num_conta, saldo
FROM Conta
WHERE cod_agencia=’123’
ORDER BY saldo
13. Para cada agência (cod_agencia) com menos de 1000 contas, listar os valores máximo e mínimo
dos saldos dessas contas, assim como o saldo médio.
R.:
SELECT cod_agencia, MAX(saldo) AS [Maior Saldo], MIN(saldo)AS [Menor
Saldo], AVG(saldo)AS [Saldo Médio]
FROM Conta
GROUP BY cod_agencia
HAVING COUNT(*) <
1000
14. Quais os clientes (cod_cliente e cliente) da agência cod_agencia = ‘123’? (solução obtida pressupondo
que um cliente pode ter um empréstimo sem ter uma conta, pensamento errado na prática, contudo se
assim não for esta solução é igual à questão 3 deste mesmo exercicio)
R.:
SELECT cod_cliente, cliente
FROM Cliente, Emprestimo,
Conta
WHERE (Cliente.cod_cliente= Emprestimo.cod_cliente AND
Emprestimo.cod_agencia=’123’) OR (Cliente.cod_cliente= Conta.cod_cliente
AND Conta.cod_agencia=’123’)
Classified as Internal
FACULDADE DE TECNOLOGIA
SENAC
15. Quais os clientes (cod_cliente e cliente) que são, simultaneamente, depositantes e devedores na
agência cujo cod_agencia = ‘123’?
R.:
SELECT cod_cliente, cliente
FROM Cliente, Emprestimo,
Conta
WHERE Cliente.cod_cliente= Emprestimo.cod_cliente AND
Cliente.cod_cliente= Conta.cod_cliente AND Emprestimo.cod_agencia=’123’
AND Emprestimo.cod_agencia =Conta.cod_agencia
16. Quais os clientes (cod_cliente e cliente) da agência com cod_agencia = ‘123’que apenas são
depositantes? R.:
SELECT cod_cliente, cliente
FROM Cliente, Emprestimo,
Conta
WHERE Cliente.cod_cliente= Emprestimo.cod_cliente AND
Cliente.cod_cliente= Conta.cod_cliente AND
Emprestimo.cod_cliente<> Conta.cod_cliente AND
Emprestimo.cod_agencia=’123’ AND Emprestimo.cod_agencia
=Conta.cod_agencia
19. Quais os clientes cujo saldo total das suas contas é superior ao valor de qualquer empréstimo
contraído neste banco?
R.:
SELECT cod_cliente, cliente
FROM Cliente, Conta,
Emprestimo
WHERE Cliente.cod_cliente= Conta.cod_cliente
GROUP BY cod_cliente, cliente
HAVING SUM(Conta.saldo)>(SELECT MAX(Emprestimo.valor) FROM
Emprestimo)
Classified as Internal
FACULDADE DE TECNOLOGIA
SENAC
Grupo 02
1. Quais os vencimentos dos funcionários que trabalham no Departamento Comercial (Sigla: DC)
? R.:
SELECT [Vencimento Mensal]
FROM Empregado
WHERE Sigla LIKE ‘DC’
Classified as Internal
FACULDADE DE TECNOLOGIA
SENAC
7. Quais os empregados que entraram ao serviço nos meses de Maio, Junho e
Setembro? R.:
SELECT Código Interno
FROM Empregado
WHERE (MONTH([Data de Admissão]) IN (5,6,9))
10. Quais os modelos produzidos por um departamento e por uma secção? ( Nota: A indicação
do departamento e secção será feita aquando da resolução da query (Run) )
R.:
SELECT Código
FROM Produz
WHERE Sigla=[Qual a Sigla do Departamento?] AND Número=[Qual
o Número da Secção Correspondente?]
11. Quais os modelos produzidos pelo departamento onde trabalha o empregado cujo código interno é
12? R.:
SELECT Código
FROM Produz, Empregado
WHERE Empregado.[Código Interno]=12 AND Produz.Sigla=Empregado.Sigla
12. Seleccione os dados dos empregados que são chefes de departamento? (Nota: é importante referir
para cada um o Departamento (Sigla e Designação) que chefiam)
R.:
SELECT Empregado.*,
Departamento.Designação FROM Empregado,
Departamento
WHERE Empregado.[Código Interno]=Departamento.Chefe
Classified as Internal
FACULDADE DE TECNOLOGIA
SENAC
Grupo 03
4. Com base nos valores apresentados para as tabelas Interprete e Disco, apresente o SQL para
obter o resultado que se apresenta a seguir:
Editora
editoraID denominação morada telefone
1 Editora Estrelas Rua do Astrolábio 2155666
2 Pimba Records Rua dos Descobridores 2122233
Interprete
interpreteID nome artístico país contacto editoraID
1 Juanita Espanha 35399343488 1
2 Martim Espanha 3527788777 2
3 Grega Portugal 213377999 1
4 Joaquim Barros Portugal 21445566 2
5 Manuel Portugal 229988777 2
Resultado
denominação países
Pimba Records 3
Editora Estrelas 2
R.:
Pretende-se saber o número de Intérpretes associados a cada Editora. O
campo designado por países dever-se-ia chamar ‘Intérpretes Associados’.
Em SQL seria:
Classified as Internal