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
