Consultas SQL para Gerenciamento de Bens
Classificado em Tecnologia
Escrito em em português com um tamanho de 3,34 KB.
A seguir, apresentamos exemplos de consultas SQL para gerenciar um sistema de controle de bens patrimoniais:
Consultas de Seleção (SELECT)
- Bens sem Manutenção:
SELECT BemNome FROM Bens WHERE BenCod NOT IN (SELECT ManBenCod FROM Manutencao);
- Bens que Começam com 'C':
SELECT BemNome FROM Bens WHERE BemNome LIKE 'c%';
- Média, Quantidade e Soma de Computadores:
SELECT AVG(BemValor) AS Media, COUNT(BenCod) AS Quantidade, SUM(BemValor) AS Soma FROM Bens WHERE BemNome = 'computador';
- Funcionários sem Bens Associados:
SELECT FunNome FROM Funcionario WHERE FunCod NOT IN (SELECT BemFunCod FROM Bens);
- Bens e Responsáveis (Ordem Alfabética):
SELECT BemNome, FunNome FROM Bens, Funcionario WHERE FunCod = BemFunCod ORDER BY FunNome;
- Bens com Valor entre R$1000,00 e R$2000,00:
SELECT BemNome FROM Bens WHERE BemValor >= 1000 AND BemValor <= 2000;
ou
SELECT BemNome FROM Bens WHERE BemValor BETWEEN 1000 AND 2000;
- Bens Responsáveis por 'João':
SELECT BemNome, FunNome FROM Bens, Funcionario WHERE FunCod = BemFunCod AND FunNome LIKE 'Joao';
- Bens Agrupados por Localização:
SELECT BemNome, LocNome FROM Bens, Localizacao WHERE LocCod = BemLocCod GROUP BY LocNome, BemNome;
Quantidade de Bens por Localização:
SELECT COUNT(BenCod), LocNome FROM Bens, Localizacao WHERE LocCod = BemLocCod GROUP BY LocNome;
- Bens que Já Passaram por Manutenção:
SELECT BemNome FROM Bens, Manutencao WHERE BenCod = ManBenCod;
- Nomes Distintos de Bens:
SELECT DISTINCT BemNome FROM Bens;
Consultas de Manipulação de Dados (INSERT, DELETE, UPDATE)
- Inserir uma Localização:
INSERT INTO Localizacao (LocCod, LocNome) VALUES (7, 'Sala de arquivo');
- Apagar todos os bens com a nomenclatura de 'Cadeira':
DELETE FROM Bens WHERE BemNome = 'Cadeira';
- Exibir todos os Bens que tem seu valor nulo:
SELECT BemNome AS Nome FROM Bens WHERE BemValor IS NULL;
- Alterar todos os valores dos bens 'computador' para R$2.000,00:
UPDATE Bens SET BemValor = 2000 WHERE BemNome = 'computador';
- Exibir a quantidade de bens por nome do funcionário:
SELECT COUNT(BenCod) FROM Bens, Funcionario WHERE BemFunCod = FunCod GROUP BY FunNome;
- Exibir todos os nomes de Funcionários que são responsáveis por apenas um Bem:
SELECT FunNome FROM Funcionario, Bens WHERE FunCod = BemFunCod GROUP BY FunNome HAVING COUNT(BenCod) = 1;
- Exibir todos os bens, seus respectivos responsáveis e locais por ordem alfabética, pelo nome do responsável e nome do local:
SELECT FunNome, BemNome, LocNome FROM Bens, Funcionario, Localizacao WHERE FunCod = BemFunCod AND LocCod = BemLocCod ORDER BY FunNome, LocNome;