Оқулық «Білім беруді дамытудың федералды институты»



Pdf көрінісі
бет201/246
Дата27.09.2023
өлшемі4.61 Mb.
#478892
түріОқулық
1   ...   197   198   199   200   201   202   203   204   ...   246
Г. Н. Федорова, Деректер қорын әзірлеу және басқару. Оқулық. Мәскеу «Академия» баспа орталығы, 2015ж.

258
 


SELECT Тҧтынушы, COUNT (*)
FROM САТЫЛЫМДАР 
GROUP BY Тҧтынушы
WHERE сӛйлемі GROUP BY-
мен бірге пайдаланылса, онда ол 
алдымен ӛңделеді және іздеу 
шартын қанағаттандыратын жолдар 
ғана топтастырылады. 
Мысалы, 
әр 
номинацияның 
тауары сатылатын соманы анықтау 
ҥшін (12.7-график):

Товар
SUM

Конфеты "Коровка"
5850
Конфеты "Мишка"
4500
Мармелад "Кроха"
1700
Мука пшеничная
2500
Сахар
3000
Сосиски молочные
7800
Халва
2475
12.7 сурет. Шартпен топтау сҧрауын 
орындаудың нәтижесі
SELECT П. Тауар, SUM (П. Саны^. Қҧны) FROM 
САТЫЛЫМДАР П, ТАУАРЛАР Т WHERE T.Тауар = 
П.Тауар GROUP BY П. Тауар
Әрбір кҥн ҥшін сатып алушылардың санын анықтау ҥшін осы 
сҧранысты орындау қажет:
SELECT Кҥні, COUNT(DISTINCT Тҧтынушы) FROM 
ПРОДАЖИ GROUP BY Кҥні
Егер нәтиже жиынынан алынған жолдардың нәтижелеріне 
шектеулер қою керек болса, онда HAVING сӛйлемі GROUP BY 
сӛйлемінен кейін пайдаланылады. Бҧл шығу жиынтығын «сҥзу» ҥшін 
қосымша мҥмкіндік. Алынған функцияларды SALES сӛйлемі тізімінде 
және HAVING сӛйлемінде ғана қолдануға болатындығын ескеру керек, 
ал WHERE тармағында мҧндай функцияларды кӛрсету мҥмкін емес. 
Мысалы, келесі сҧраныс 3000-нан астам сатылған тауарлардың тізімін 
кӛрсетуге мҥмкіндік береді.:
SELECT П. Тауар, SUM (П. Саны^. Қҧны)
FROM 
САТЫЛЫМДАР П, 
ТАУАРЛАР Т WHERE T. 
Тауар = П. Тауар GROUP BY 
П. Тауар
HAVING SUM (П. Саны^. Қҧны) >3000
Шығарылған тауарлардың жалпы саны 10 бірліктен кем болатын 
тауарларды ӛткізу кҥнін кӛрсетіңіз, әр кҥнде бір мәміле жасалмады:
259
 


SELECT Кҥні,COUNT(*)
FROM 
САТЫЛЫМДАРWHERE 
Саны>=10 GROUP BY 
Кҥні HAVING 
COUNT(*)>1
Кейде салыстыру әрекеттерін пайдаланған кезде сҧрауларда 
сҧраныстың нәтижесін салыстыру қажет мән алдын ала анықталмайды 
және бірнеше мәндер болмайды немесе басқа SELECT операторын 
орындау арқылы алынады. Мҧндай жағдайларда, ішкі сҧраулар 
пайдаланылады (кірістірілген сҧраулар).
Ішкі сұрау (салынған сұраулар) уақытша кестені жасау қҧралы 
болып табылады, оның мазмҧны сыртқы оператормен шығарылады 
және ӛңделеді. Ішкі сҧраудың мәтіні жақшада болуы керек. Ішкі 
сҧраныстағы SELECT мәлімдемесі келесі пішінге ие:
 
SELECT . . .
FROM ...
WHERE <салыстырмалы мәні><оператор>(SELECT . . . ) Ішкі 
сҧранымдардың екі тҥрі бар. 
1. Скалярлық ішкі сұрау бір мәнді қайтарады. Негізінде ол бір мәнді 
қажет ететін жерде қолданыла алады. 
2. Кестенің ішкі сұрауы мәндер жиынтығын қайтарады, яғни. 
Кестенің бір немесе бірнеше бағандарының мәндері бірнеше жолға 
орналастырылады. Бҧл ҥстелге рҧқсат етілген жерде мҥмкін. 
Сҧраулар бойынша бар:
■ 
байланыстырылмаған — жоғары деңгейлі сҧрауға сілтемелер 
болмайды, олар жоғары деңгейлі сҧрау ҥшін бір рет есептеледі;
■ 
байланыстырылған — негізгі сҧраудағы ӛріс мәндеріне тәуелді 
шарттар бар; жоғарғы деңгейлі сҧраудың әр жолына есептеледі.
Ішкі сҧраудың негізгі немесе сыртқы синтаксисі бар, сондықтан 
ішкі сҧрау да ішкі сҧрауды қамтуы мҥмкін. Тағы бір SELECT 
операторы басқа SELECT операторының корпусына ендірілген сияқты. 
Сыртқы SELECT операторы бҥкіл операцияның соңғы нәтижесінің 
мазмҧнын анықтау ҥшін ішкі нҧсқадағы нәтижені қолданады. 
Ішкі 
сҧраулар 
салыстыру 
операторынан 
кейін 
бірден 
орналастырылуы мҥмкін (=, <,>, <=,> =, <>)


Достарыңызбен бөлісу:
1   ...   197   198   199   200   201   202   203   204   ...   246




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет