0% acharam este documento útil (0 voto)
4 visualizações5 páginas

Consultas SQL para Gerenciar Clientes

O documento apresenta um exercício de SQL que envolve a criação de um banco de dados e uma tabela de clientes, incluindo inserções de dados. Também contém uma série de consultas SQL para manipulação e extração de informações da tabela, como listagens, filtragens e ordenações de dados. As consultas abordam diversas condições e operações, como seleção de clientes ativos, inativos, por cidade, e manipulação de strings e datas.

Enviado por

rai.tabajara31
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações5 páginas

Consultas SQL para Gerenciar Clientes

O documento apresenta um exercício de SQL que envolve a criação de um banco de dados e uma tabela de clientes, incluindo inserções de dados. Também contém uma série de consultas SQL para manipulação e extração de informações da tabela, como listagens, filtragens e ordenações de dados. As consultas abordam diversas condições e operações, como seleção de clientes ativos, inativos, por cidade, e manipulação de strings e datas.

Enviado por

rai.tabajara31
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Raí Adriano Primo dos Santos - 264452024 - Noite 2

Exercício:

create database exercicio;


use exercicio;
create table clientes(
​ id int primary key,
nome varchar(100),
email varchar(100),
data_nascimento date,
ativo boolean,
cidade varchar(50)
);

insert into clientes (id, nome, email, data_nascimento, ativo, cidade) VALUES
(1, 'João Silva', 'joao@[Link]', '1985-03-10', true, 'São Paulo'),
(2, 'Maria Oliveira', 'maria@[Link]', '1990-11-25', false, 'Rio de Janeiro'),
(3, 'Carlos Souza', 'carlos@[Link]', '1978-07-14', true, 'Belo Horizonte'),
(4, 'Ana Paula', NULL, '1992-05-02', true, 'São Paulo'),
(5, 'Fernanda Lima', 'fernanda@[Link]', '1989-09-18', false, 'Curitiba'),
(6, 'Lucas Mendes', 'lucas@[Link]', '2000-01-30', true, null);

#1 Liste todos os dados da tabela clientes. nvl 1


select * from clientes;

#2. Exiba apenas os nomes e os e-mails dos clientes. nvl 1


select nome, email from clientes;

#3. Liste todos os clientes da cidade de "São Paulo". nvl 2


select * from clientes where cidade = "São Paulo";

#4. Exiba os dados dos clientes que estão com status ativo. nvl 1
select * from clientes where ativo = "1";

#5. Exiba os nomes dos clientes que não estão ativos. nvl 1
select * from clientes where ativo = "0";

#6. Mostre os clientes que nasceram após o ano 1990. nvl 1


select * from clientes where data_nascimento > "1990-01-01";

#7. Exiba os dados dos clientes com e-mail do domínio "[Link]". nvl 2
select * from clientes where email like "%[Link]%";

#8. Liste os clientes que vivem nas cidades "São Paulo" ou "Rio de Janeiro". nvl 3
select * from clientes where cidade like "São Paulo" or cidade like "Rio de Janeiro";
#9. Exiba os clientes que não informaram o e-mail. nv1 1
select * from clientes where email = "null";

#10. Mostre os clientes com nomes que começam com 'A'. nvl 1
select * from clientes where nome like "A%";

#11. Liste todos os clientes ordenados por nome em ordem alfabética. nvl 1
select * from clientes order by nome asc;

#12. Liste os 3 clientes mais jovens. nvl 2


select * from clientes order by data_nascimento desc limit 3;

#13. Mostre os clientes ativos e ordene-os pela cidade. nvl 1


select * from clientes where ativo = "1" order by cidade;

#14. Liste os 2 primeiros clientes cadastrados.


select * from clientes order by id asc limit 2;

#15. Exiba os clientes cujo nome tenha mais de 10 caracteres. nvl 5


select * from clientes where char_length(nome) > 10;

#16. Mostre os clientes ordenados pela data de nascimento mais antiga primeiro. nvl 1
select * from clientes order by data_nascimento asc;

#17. Liste os clientes com os IDs maiores que 3. nvl 1


select * from clientes where id > 3;

#18. Exiba os clientes com nomes que terminam com 'a'. nvl 2
select * from clientes where nome like '%a';

#19. Exiba apenas os IDs e nomes dos clientes inativos. nvl 1


select id, nome from clientes where ativo = false;

#20. Mostre os clientes que possuem email cadastrado. nvl 1


select * from clientes where email is not null;

#21. Liste os clientes com nomes contendo a letra 'e'. nvl 1


select * from clientes where nome like '%e%';

#22. Exiba os clientes que nasceram antes de 1990. nvl 2


select * from clientes where data_nascimento < '1990-01-01';

#23. Mostre os clientes cujo email contenha o caractere '@gmail'. nvl 1


select * from clientes where email like '%@gmail%';

#24. Exiba os clientes que não são da cidade de 'Curitiba'. nvl 2


select * from clientes where cidade != 'Curitiba';
#25. Mostre os clientes com ID entre 2 e 5. nvl 1
select * from clientes where id between 2 and 5;

#26. Exiba os clientes com nomes diferentes de 'Ana Paula'. nvl 1


select * from clientes where nome != 'Ana Paula';

#27. Liste os clientes que têm cidade preenchida. nvl 1


select * from clientes where cidade is not null;

#28. Liste os clientes que têm cidade nula. nvl 1


select * from clientes where cidade is null;

#29. Exiba os clientes ativos com email nulo. nvl 2


select * from clientes where ativo = true and email is null;

#30. Exiba os clientes cujo nome tenha exatamente 10 caracteres. nvl 3


select * from clientes where length(nome) = 10;

#31. Renomeie a coluna 'nome' como 'Cliente' na saída da consulta. nvl 1


select nome as Cliente from clientes;

#32. Mostre todos os nomes de clientes em ordem decrescente. nvl 1


select nome from clientes order by nome desc;

#33. Liste os e-mails distintos existentes na base. nvl 1


select distinct email from clientes;

#34. Liste os nomes e datas de nascimento com alias 'Nascimento'. nvl 1


select nome, data_nascimento as Nascimento from clientes;

#35. Exiba apenas os nomes em letras maiúsculas (use UPPER se possível). nvl 2
select upper(nome) from clientes;

#36. Exiba o ano de nascimento de cada cliente (se disponível na SQL). nvl 2
select year(data_nascimento) as ano_nascimento from clientes;

#37. Liste os clientes cujo nome contenha exatamente duas palavras. nvl 3
select * from clientes where nome like '% %' and length(nome) - length(replace(nome, ' ', ''))
= 1;

#38. Exiba os dados dos 5 clientes mais velhos. nvl 3


select * from clientes order by data_nascimento asc limit 5;

#39. Mostre os clientes cujo nome tenha a letra 'o' na segunda posição. nvl 4
select * from clientes where nome like '_o%';

#40. Liste os clientes onde o campo cidade tem mais de 7 caracteres. nvl 2
select * from clientes where length(cidade) > 7;

#41. Liste os clientes cujo ID é múltiplo de 2. nvl 2


select * from clientes where mod(id, 2) = 0;

#42. Exiba todos os clientes com email não contendo '[Link]'. nvl 2
select * from clientes where email not like '%[Link]%';

#43. Liste os clientes que moram em cidades com acento (use LIKE). nvl 4
select * from clientes where cidade like '%á%' or cidade like '%é%' or cidade like '%í%' or
cidade like '%ó%' or cidade like '%ú%';

#44. Exiba os clientes com nomes duplicados (dica: usar GROUP BY futuramente). nvl 5
select nome from clientes group by nome having count(*) > 1;

#45. Liste os nomes dos clientes que têm email com mais de 15 caracteres. nvl 2
select nome from clientes where length(email) > 15;

#46. Exiba os clientes ordenados por cidade e depois por nome. nvl 1
select * from clientes order by cidade, nome;

#47. Liste os clientes cujo nome contenha pelo menos duas letras 'a'. nvl 3
select * from clientes where length(lower(nome)) - length(replace(lower(nome), 'a', '')) >= 2;

#48. Mostre os clientes com ID ímpar. nvl 1


select * from clientes where mod(id, 2) != 0;

#49. Exiba os clientes onde o nome não contém espaços. nvl 2


select * from clientes where nome not like '% %';

#50. Liste os clientes que tenham uma letra maiúscula no meio do nome. nvl 4
select * from clientes where nome regexp '.[A-Z].';

#51. Exiba os clientes com nomes compostos por três palavras. nvl 5
select * from clientes where length(nome) - length(replace(nome, ' ', '')) = 2;

#52. Liste os clientes que nasceram em meses pares. nvl 4


select * from clientes where month(data_nascimento) in (2, 4, 6, 8, 10, 12);

#53. Exiba os clientes com nome começando com letra entre 'C' e 'M'. nvl 3
select * from clientes where nome regexp '^[C-Mc-m]';

#54. Liste os clientes cujo email tem mais de um ponto. nvl 4


select * from clientes where length(email) - length(replace(email, '.', '')) > 1;

#55. Mostre os clientes ativos que moram em 'São Paulo'. nvl 2


select * from clientes where ativo = true and cidade = 'São Paulo';
#56. Exiba os clientes ordenados por status (ativos primeiro). nvl 2
select * from clientes order by ativo desc;

#57. Liste os nomes dos clientes inativos em ordem alfabética reversa. nvl 2
select nome from clientes where ativo = false order by nome desc;

#58. Exiba os clientes com nome igual ao da cidade (se houver). nvl 4
select * from clientes where nome = cidade;

#59. Mostre os clientes com o nome terminando com 'o' e email nulo. nvl 3
select * from clientes where nome like '%o' and email is null;

#60. Liste os clientes com data de nascimento no mês de janeiro. nvl 2


select * from clientes where month(data_nascimento) = 1;

Você também pode gostar