Использование предложения TABLESAMPLE
НОВЫЕ ОПЕРАТОРЫ ЯЗЫКА МАНИПУЛИРОВАНИЯ ДАННЫМИ ( DML )
Выполнила : Смайлова Сая. Проверила: Найзабаева Л.
Алматы- 2010
create table Parfums( parfum_name varchar(20), parfum_id int, parfum_type varchar(20), price int, use_time datetime, destination varchar(20), primary key(parfum_id) ) insert into Parfums values ('Eclat',100,'Cold aroma',5600,'10/5/2010','For women') insert into Parfums values ('Nina Richy',101,'Sweet aroma',11500,'7/15/2012','For women') insert into Parfums values ('Calvin Klein',102,'Hot aroma',8900,'3/21/2011','For men') insert into Parfums values ('Princess',104,'Sweet aroma',4200,'11/30/2014','For children')
create table Cosmetics( cosmetic_id int, cosmetic_name varchar(20), cosmetic_type varchar(20), price int, amount int, use_time datetime, firma varchar(20), representive varchar (20) ) insert into Cosmetics values(200,'Garnier Light','Day cream',1900,120,'3/8/2011','Avon','Nurzhanova Asel') insert into Cosmetics values(201,'MaxFactor','Eyelash',2300,209,'7/8/2010','Oriflame','Smailova Saya') insert into Cosmetics values(202,'Pharma','Makeup remover',3000,260,'11/18/2010','Maybeeline','Tanabaeva Gulzada') insert into Cosmetics values(203,'Baby Body','Lotion',300,80,'9/20/2012','Nivea','Erimbetova Laura')
CTE - выражения для упрощения читаемости запросов
with first as ( select * from Parfums where destination like 'for women' ) select * from first order by price;
Однократный вызов CTE
WITH maxi AS (SELECT (max (amount))AS v FROM Cosmetics), mini AS (SELECT (min (price))AS v FROM Cosmetics) SELECT cosmetic_id, cosmetic_name, amount, price FROM Cosmetics as co, mini, maxi WHERE co.amount=maxi.v or co.price= mini.v;
Использование CTE для рекурсивного прохода по дереву
WITH alphavit AS( SELECT ASCII('A') code, CHAR(ASCII('A')) letter UNION ALL SELECT code+1, CHAR(code+1) FROM alphavit WHERE code+1 <= ASCII('Z') ) SELECT letter, cosmetic_name FROM alphavit,Cosmetics where cosmetic_name like letter+'%';
Оператор PIVOT
SELECT cosmetic_name, [Avon],[Oriflame],[Nivea] --INTO tmpUnpivot FROM Cosmetics PIVOT ( sum(amount) FOR [firma] IN ([Avon],[Oriflame],[Nivea]) )PVT;
Оператор UNPIVOT
SELECT cosmetic_name, firma, amount FROM tmpUnpivot pvt UNPIVOT ( amount FOR firma IN([Avon],[Oriflame],[Nivea]) )unpvt;
Оператор CROSS APPLY
alter FUNCTION parf (@cos_id as int) RETURNS TABLE AS RETURN SELECT top(1) cosmetic_name,cosmetic_type FROM Cosmetics WHERE cosmetic_id=@cos_id; SELECT mro.*,price FROM Parfums CROSS APPLY parf(parfum_id) as mro;
Оператор OUTER APPLY
SELECT mro.*,price FROM Parfums OUTER APPLY parf(parfum_id) as mro;
Функции ранжирования
select parfum_name,destination, price,Rank() over (Partition BY destination order by price DESC) as Rank from Parfums
9) DENSE_RANK()
select parfum_name,destination, price,DENSE_RANK() over (Partition BY destination order by price DESC) as Rank from Parfums
10) Row_Number()
select parfum_name,destination, price,Row_Number() over (Partition BY destination order by price DESC) as Rank from Parfums
Ntile()
select parfum_name,destination, price, Ntile(3) over (Partition BY destination order by price DESC) as Rank from Parfums
Оператор TOP
DECLARE @var1 AS int , @var2 AS int; SET @var1=1; SET @var2=2; SELECT TOP (@var1*@var2) * FROM Parfums;
Использование предложения TABLESAMPLE
SELECT * FROM Cosmetics SYSTEM TABLESAMPLE (100 PERCENT); SELECT parfum_name,parfum_type FROM Parfums p TABLESAMPLE(100 percent) join Cosmetics c TABLESAMPLE(100 percent) on c.cosmetic_id=p.parfum_id
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (186)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |