Você está aqui: Página Inicial Disciplinas Banco de Dados Material de aula Exemplos de agregação

Exemplos de agregação

Agregacao.sql — SQL code, 4 kB (4295 bytes)

Conteúdo do arquivo

use Teste
go

create table Classe (
	cod_clas int not null primary key,
	nome_classe varchar(35) not null
	)
	Go

create table Produto (
	cod_prod int not null primary key,
	cod_clas int foreign key references Classe (cod_clas),
	tipo_prod int not null,
	nome_prod varchar(35) not null,
	qtd_prod smallint not null,
	val_prod decimal(12,2) not null
	)
	GO

INSERT INTO Classe values (1,'Alemntos')
INSERT INTO Classe values (2,'M�veis')
INSERT INTO Classe values (3,'Inform�tica')
INSERT INTO Classe values (4,'Cama e mesa')
INSERT INTO Classe values (5,'Limpeza')

INSERT INTO Produto Values (1,1,1,'Arroz',100,1.50)
INSERT INTO Produto Values (2,1,1,'feij�o',1000,2.50)
INSERT INTO Produto Values (3,1,1,'Carne',250,30.50)
INSERT INTO Produto Values (4,1,1,'Peixe',5,18.50)
INSERT INTO Produto Values (5,1,1,'Frutas',3,4.50)

INSERT INTO Produto Values (6,2,1,'Casa cidade',1,150000)
INSERT INTO Produto Values (7,2,1,'Casa Fazenda',1,50000)
INSERT INTO Produto Values (8,2,1,'Cama casal',1,30000)
INSERT INTO Produto Values (9,2,1,'Casa solteiro',1,15000)
INSERT INTO Produto Values (10,2,1,'Geladeira',1,5000)

select * from Produto

update Produto Set nome_prod = 'Mesa da sala de jantar', val_prod='3500'
       where cod_prod = 7

update Classe set nome_classe = 'Eletrodom�stico'
       where cod_clas = 2

update Produto set tipo_prod = 2
       where cod_prod between 6 and 10

select * from Produto

select * from classe
update classe set nome_classe = 'Material Cozinha' where cod_clas =4

INSERT INTO Produto Values (11,3,3,'Notebook dell',10, 3500)
INSERT INTO Produto Values (12,3,3,'Notebook sony',11, 5500)
INSERT INTO Produto Values (13,3,3,'Mac',15, 9500)
INSERT INTO Produto Values (14,3,3,'Impressora PHP',50, 500)
INSERT INTO Produto Values (15,3,3,'Roterador DLink',20, 350)

INSERT INTO Produto Values (16,3,3,'Faqueiro',1, 3500)
INSERT INTO Produto Values (17,3,3,'Pratos',24, 10)
INSERT INTO Produto Values (18,3,3,'xicaras',12, 5)
INSERT INTO Produto Values (19,3,3,'Copos para �gua',12, 5)
INSERT INTO Produto Values (20,3,3,'Panelas tramotina',5, 150)

INSERT INTO Produto Values (21,5,5,'Sab�o em p�',1, 5)
INSERT INTO Produto Values (22,5,5,'�gua sanit�ria',5, 5.50)
INSERT INTO Produto Values (23,5,5,'Detergetes',10, 4.50)
INSERT INTO Produto Values (24,5,5,'Sabonetes',10, 6.70)
INSERT INTO Produto Values (55,5,5,'Pasta de dente',20, 3.50)

select * from produto
update produto set cod_clas = 4, tipo_prod = 4
     where cod_prod between 15 and 20

select avg(val_prod) as m�dia from produto

select avg(all qtd_prod) as m�dia_qt from produto
    where cod_clas = 1

select avg(distinct qtd_prod) as m�dia_qt from produto
    where cod_clas = 1

select count(*) from produto where cod_clas=1

select count(cod_clas) from produto

select max(val_prod) from produto

select min(val_prod) from produto

select sum(qtd_prod) from produto

select tipo_prod, sum(qtd_prod * val_prod) as Total_em_Estoque
from Produto
Group by tipo_prod

select cod_clas, sum(qtd_prod * val_prod) as Total_em_Estoque
from Produto
Group by cod_clas
having sum(qtd_prod * val_prod) < 3000

SELECT Tipo_Prod, Nome_Prod,
              SUM(Qtd_Prod * Val_Prod) AS Estoque
FROM Produto
GROUP BY Tipo_Prod, Nome_Prod
Order By Tipo_Prod

SELECT Tipo_Prod, Nome_Prod,
              SUM(Qtd_Prod * Val_Prod) AS Estoque
FROM Produto
GROUP BY Tipo_Prod, Nome_Prod
WITH ROLLUP

SELECT Tipo_Prod, Nome_Prod,
              SUM(Qtd_Prod * Val_Prod) AS Estoque
FROM Produto
GROUP BY Tipo_Prod, Nome_Prod
WITH CUBE

SELECT Tipo_Prod,
	GROUPING(Tipo_Prod) as [� Total Agrupado ?],
              SUM(Qtd_Prod ) AS Val_Estoque
FROM Produto
GROUP BY Tipo_Prod
WITH ROLLUP

SELECT Tipo_Prod,  Nome_Prod,  Qtd_Prod
FROM Produto
order by tipo_prod, nome_prod
COMPUTE SUM(Qtd_Prod) BY Tipo_Prod


select tipo_prod, nome_prod, qtd_prod, Total = qtd_prod * val_prod
 from produto 
Order By tipo_prod, nome_prod
COMPUTE SUM(qtd_prod * val_Prod) BY tipo_prod



SELECT Tipo_Prod,
               Nome_Prod,
               Qtd_Prod,
               Total = Qtd_Prod * Val_Prod
FROM Produto
ORDER BY Tipo_Prod, Nome_Prod
compute SUM(Qtd_Prod * Val_Prod) BY Tipo_Prod