Мегаобучалка Главная | О нас | Обратная связь


Использование предложения TABLESAMPLE



2019-05-24 186 Обсуждений (0)
Использование предложения TABLESAMPLE 0.00 из 5.00 0 оценок




НОВЫЕ ОПЕРАТОРЫ ЯЗЫКА МАНИПУЛИРОВАНИЯ ДАННЫМИ ( 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

 


 

 



2019-05-24 186 Обсуждений (0)
Использование предложения TABLESAMPLE 0.00 из 5.00 0 оценок









Обсуждение в статье: Использование предложения TABLESAMPLE

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (186)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)