EXERCÍCIOS Parte 2¶
- Faça um consulta que retorne o nome e sobrenome do cliente, seu bairro, e os valores das suas movimentações, a data ordenando as movimentações pelas mais recentes.
1 2 3 4 5 SELECT ClienteNome, ClienteSobrenome, ClienteBairro, MovimentoData, MovimentoValor FROM Clientes, Contas, Movimentos WHERE Clientes.ClienteCodigo=Contas.ClienteCodigo AND Contas.ContaNumero=Movimentos.ContaNumero ORDER BY MovimentoData desc;
- Mostre o nome do cliente, sobrenome e a sua renda convertida em dolar e euro.
1 2 3 SELECT ClienteNome, ClienteSobrenome, (ClienteRendaAnual / 3.9) AS Dolar, (ClienteRendaAnual / 4.4) AS Euro FROM Clientes;
- Traga o nome dos clientes, o sobrenome, o bairro, o estado civil (descrito), o sexo (descrito) e classifique o cliente de acordo com a sua renda anual, C tem renda menor que 50.000, B tem renda menor que 70.000 e A tem renda acima de 70.000.
1 2 3 4 5 6 7 8 9 10 SELECT ClienteNome, ClienteSobrenome, ClienteBairro, ClienteEstadoCivil, CASE WHEN ClienteEstadoCivil = 'S' THEN 'Solteiro' ELSE 'Casado' END AS ESTADOCIVILDECRITO, ClienteSexo, CASE WHEN ClienteSexo = 'M' THEN 'Masculino' ELSE 'Feminino' END AS SEXODESCRITO, ClienteRendaAnual, CASE WHEN ClienteRendaAnual < 50000 THEN 'C' WHEN ClienteRendaAnual < 70000 THEN 'B' ELSE 'A' END AS 'CLASSIFICAÇÃO' FROM Clientes ;
- Liste todos os clientes que moram no mesmo bairro das agências do banco.
1 2 SELECT ClienteNome, ClienteBairro, AgenciaBairro, AgenciaNome FROM Clientes, Agencias WHERE ClienteBairro=AgenciaBairro;
Mostre todos os clientes que possuem número no seu e-mail.
1 2 3
SELECT Clientes.ClienteNome, Clientes.ClienteEmail FROM dbo.Clientes WHERE Clientes.ClienteEmail LIKE '%[0-9]%';
Mostre todos os clientes em que o nome da rua começa começa com R. e não com RUA.
1 2 3
SELECT ClienteRua FROM dbo.Clientes WHERE ClienteRua LIKE 'R.%' AND ClienteRua NOT LIKE 'RUA%';
Mostre o nome do cliente e a renda apenas do 5 melhores clientes com base na sua renda.
1 2 3 SELECT TOP 5 ClienteNome, ClienteRendaAnual FROM dbo.Clientes ORDER BY ClienteRendaAnual DESC;
- Mostre o nome do cliente e a renda apenas do 5 piores clientes com base na sua renda.
1 2 3 SELECT TOP 5 ClienteNome, ClienteRendaAnual FROM dbo.Clientes ORDER BY ClienteRendaAnual;
- Mostre o nome e a rua dos clientes que moram em residencias cujo número está entre 300 e 500.
1 2 SELECT ClienteNome, ClienteRua FROM dbo.Clientes WHERE ClienteNumero BETWEEN 300 AND 500;
- Utilizando o conceito de sub consulta, mostre quais clientes não possuem cartão de crédito.
1 2 SELECT * FROM dbo.Clientes WHERE ClienteCodigo NOT IN (SELECT ClienteCodigo FROM dbo.CartaoCredito);
- Mostre o nome do cliente, o nome da agência e o bairro da agência, as movimentações dos clientes e o limite do cartão de crédito deles, somente para os clientes em que a conta foi aberta a partir de 2008.
1 2 3 4 5 6 7 SELECT ClienteNome, AgenciaNome, AgenciaBairro, MovimentoValor FROM dbo.Clientes, dbo.Agencias, dbo.Contas, dbo.CartaoCredito, dbo.Movimentos WHERE clientes.ClienteCodigo=Contas.ClienteCodigo AND agencias.AgenciaCodigo=dbo.Contas.AgenciaCodigo AND CartaoCredito.ClienteCodigo=Clientes.ClienteCodigo AND dbo.Contas.ContaNumero=dbo.Movimentos.ContaNumero AND ContaAbertura >= '2008-01-01';
- Faça uma consulta que classifique os clientes em Regiões conforme o bairro que moram.
1 2 3 4 SELECT dbo.Clientes.ClienteNome, dbo.Clientes.ClienteBairro, CASE WHEN ClienteBairro IN ('ITINGA','FLORESTA') THEN 'SUL' END AS [REGIÃO] FROM Clientes;
- Mostre o nome do cliente e o tipo de movimentação, apenas para as movimentações de débito.
1 2 3 4 5 6 SELECT ClienteNome, MovimentoValor, MovimentoTipo , TipoMovimentoDescricao FROM Clientes, Contas, Movimentos, TipoMovimento WHERE Clientes.ClienteCodigo=Contas.ClienteCodigo AND Contas.ContaNumero=dbo.Movimentos.ContaNumero AND dbo.Movimentos.MovimentoTipo=dbo.TipoMovimento.TipoMovimentoCodigo AND TipoMovimento.TipoMovimentoCodigo=-1;