Prévia do material em texto
43
Comandos DQL
(exercício)
Faça as seguintes consultas:
1. Todos os dados da tabela.
2. Apenas o nome e a função de todos os funcionários.
3. O nome de todos os funcionários do departamento 3.
SELECT nome FROM cadfun WHERE depto = '3';
4. Nome e salário de todos os funcionários ordenados por nome.
SELECT nome, salario FROM cadfun ORDER BY nome ASC;
5. Nome e salário de todos os funcionários ordenados na descendente por nome.
SELECT nome, salario FROM cadfun ORDER BY nome DESC;
SELECT * FROM cadfun;
SELECT nome, funcao FROM cadfun;
44
Comandos DQL
(exercício)
Faça as seguintes consultas:
6. Todos os departamentos e nomes, ordenando os departamentos na ascendente
e nomes na descendente.
SELECT depto, nome FROM cadfun ORDER BY depto, nome DESC;
7. Todos os nomes dos funcionários do departamento 3 em ordem descendente.
SELECT nome FROM cadfun WHERE depto = '3' ORDER BY nome DESC;
8. Todos os dados em que o código do funcionário seja igual a 7.
SELECT * FROM cadfun WHERE codfun = 7;
9. Atualize o salário do funcionário com código = 7 para 2.300,56.
UPDATE cadfun SET salario = 2300.56 WHERE codfun = 7;
10. Todos os dados da funcionária ANA BASTOS.
SELECT * FROM cadfun WHERE nome = 'ANA BASTOS';
45
Comandos DQL
(exercício)
Faça as seguintes consultas:
11. Mude o departamento de ANA BASTOS para 3.
UPDATE cadfun SET depto = '3' WHERE nome = 'ANA BASTOS';
12. Aumente todos os salários em 10%.
UPDATE cadfun SET salario = salario * 110/100;
13. Selecione todos os dados dos funcionários cujo salário seja maior ou igual a R$
2.000,00.
SELECT * FROM cadfun WHERE salario>=2000;
14. Selecione todos os funcionários que possuem silva no nome.
SELECT nome FROM cadfun WHERE ' '+nome+' ' LIKE '% SILVA %';
15. Selecione todos os dados dos funcionários que possuem nome começando com
a letra M.
SELECT * FROM cadfun WHERE nome LIKE 'M%';
46
Comandos DQL
(exercício)
Faça as seguintes consultas:
16. Selecione todos os dados dos funcionários que são Programadores ou Analistas.
SELECT * FROM cadfun WHERE funcao='PROGRAMADOR' OR funcao='ANALISTA';
SELECT * FROM cadfun WHERE funcao IN ('PROGRAMADOR','ANALISTA');
17. Selecione todos os dados dos funcionários que não são Programadores nem
Analistas.
SELECT * FROM cadfun WHERE funcao<>'PROGRAMADOR' AND funcao<>'ANALISTA';
SELECT * FROM cadfun WHERE funcao NOT IN ('PROGRAMADOR','ANALISTA');
18. Selecione todos os dados dos funcionários cujo salário esteja entre R$ 1.500,00
e R$ 2.000,00.
SELECT * FROM cadfun WHERE salario>=1500 AND salario<=2000;
SELECT * FROM cadfun WHERE salario BETWEEN 1500 AND 2000;
47
Comandos DQL
(exercício)
Faça as seguintes consultas:
19. Selecione todos os dados dos funcionários cujo salário seja menor que R$
1.500,00 ou maior que R$ 2.500,00.
SELECT
SELECT
* FROM cadfun WHERE salario<1500 OR salario>2500;
* FROM cadfun WHERE salario NOT BETWEEN 1500 AND 2500;
20. Torne NULO todas as funções iguais a vendedor.
UPDATE
cadfun SET funcao = NULL
WHERE funcao='vendedor' OR funcao='vendedora';
UPDATE cadfun SET funcao = NULL
WHERE funcao LIKE 'VENDEDOR%';
UPDATE cadfun SET funcao = NULL
WHERE funcao IN ('VENDEDOR', 'VENDEDORA');
48
Comandos DQL
(exercício)
22. Selecione todos os dados dos funcionários que não possuem função = nulo.
SELECT * FROM cadfun WHERE funcao IS NOT NULL;
23. Troque todas as funções cujo conteudo é nulo por digitador.
UPDATE cadfun SET funcao = 'DIGITADOR' WHERE funcao IS NULL;
25. Crie uma cópia vazia da tabela cadfun com o nome morto.
SELECT * INTO morto FROM cadfun WHERE 1=2;
ALTER TABLE morto ADD CONSTRAINT codfun PRIMARY KEY (codfun);
SELECT * FROM cadfun WHERE funcao IS NULL;
21. Selecione todos os dados dos funcionários que possuem o campo função nulo.
SELECT * FROM cadfun WHERE funcao = 'PROGRAMADOR' AND SALARIO>2000;
24. Selecione todos os funcionários que são programadores e possuem salário
maior que R$ 2.000,00.
49
Comandos DQL
(exercício)
Faça as seguintes consultas:
26. Copie os dados do funcionário 12, da tabela cadfun, para a tabela morto.
INSERT INTO morto
SELECT * FROM cadfun
WHERE codfun = 12;
27. Liste nome, salário dos funcionários de cadfun com salário igual ao do registro
da tabela morto.
SELECT nome,salario FROM cadfun
WHERE salario IN (SELECT salario FROM morto);
28. Liste todos os dados dos funcionários de cadfun com o mesmo departamento
do registro da tabela morto.
SELECT * FROM cadfun
WHERE depto IN (SELECT depto FROM morto);
Comandos DQL
(exercício)
50
Faça as seguintes consultas:
29. Calcule quanto é 2 elevado ao cubo.
SELECT POWER(2,3);
30. Calcule a raiz de 256.
SELECT SQRT(256);
31. Apresente no formato decimal com duas casas, a média salarial dos
funcionários de cadfun.
SELECT CONVERT(decimal(10,2),AVG(SALARIO)) FROM cadfun;
SELECT CAST(AVG(SALARIO) AS decimal(10,2)) FROM cadfun;
32. Conte quantos funcionários possuem a função de PROGRAMADOR ou
SECRETÁRIA.
SELECT COUNT(*) FROM cadfun
WHERE funcao IN ('PROGRAMADOR', 'SECRETARIA');
Comandos DQL
(exercício)
51
Faça as seguintes consultas:
33. Conte quantas pessoas existem por função em cadfun.
SELECT funcao,COUNT(*) FROM cadfun GROUP BY funcao;
34. Apresente o menor e o maior salário entre os funcionários de cadfun.
SELECT MIN(salario) AS 'Menor Salário' ,
MAX(salario) AS 'Maior Salário'
FROM cadfun;
35. Some o total dos salários em cadfun.
36. Conte o número de funções cadastradas em cadfun.
SELECT COUNT(DISTINCT funcao) FROM cadfun;
37. Liste os nomes das funções, sem repetição, cadastradas em cadfun.
SELECT DISTINCT funcao FROM cadfun;
SELECT SUM(salario) AS 'Total de Salários' FROM cadfun;