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



жүктеу 2,79 Kb.
Pdf просмотр
бет83/101
Дата20.05.2018
өлшемі2,79 Kb.
#15312
түріОқулық
1   ...   79   80   81   82   83   84   85   86   ...   101

 
Номер
 
Клиент
 
 __ 
[Товар
 
Количество Дата
 
MULTIPLY
 

 
 
140 ИП Газимова К.К.
 
[Конфеты "Коровка"
 
15 09.01.2013
 
1350
 
   
45 Федорова Д.С.
 
Конфеты "Коровка"
 
50 02.04.2013
 
4500
 
   
156 ИП Газимова К.К.
 
Конфеты "Мишка"
 
30 02.04.2013
 
4500
 
   
200 Лесовая В.Н.
 
Мармелад "Кроха"
 
20 07.02.2013
 
1700
 
   
85 Лесовая В.Н.
 
Мука пшеничная
 
50 02.04.2013
 
2500
 
   
254 Лесовая В.Н.
 
Сахар
 
50 01.02.2013
 
3000
 
   
144 Таран О.С.
 
Сосиски молочные
 
30 01.04.2013
 
7800
 
   
162 Федорова Д.С.
 
Халва
 
10 15.02.2013
 
450
 
   
112 ООО "Ромашка"
 
Халва
 
40 15.02.2013
 
1800
 
12.5 
сурет. Есептелетін жолды құру
 
кестенің  бағанында,  бірақ  тек  FROM  сөйлемінде  тізімделген  кестенің 
немесе сұраудың баған атауын ғана пайдаланыңыз. Күрделі өрнектерді 
салу  жақшаларды  пайдаланады.  Алынған  кестенің  баған  атауларын 
айқын  көрсете  аласыз,  олар  үшін  AS  фразасы  қолданылады.  Келесі 
сұраныс сатылым жылы мен айы бар өнімдер тізімін көрсетеді:
 
SELECT 
Т.Тауар, Year(n.Күні) AS Жыл, Month(n.Күні)
 
AS 
Ай
 
FROM 
ТАУАРЛАР Т , 
САТЫЛЫМДАР П WHERE Т . 
Тауар=П.Тауар
 
Сұрау  Year  және  Month  айын  белгілеу  үшін  кірістірілген 
функцияларды Жыл және Айды пайдаланады. 
Агрегат  (қорытынды)  функциялары  деректер  жинағының  барлық 
жазбаларында  операциялардың  жалпы  мәндерін  есептеуге  арналған. 
Келесі функциялар жиынтыққа қатысты:
 
■ 
COUNT  (<
өрнек>)  —  SQL-сұрауының  шығыс  жиынтығындағы 
жазбалардың  санын  анықтайды  (деректердің  нәтиже  жинағының 
барлық жазбаларындағы өрнектің мәндерінің саны);
 
■ 
SUM(<
өрнек>) — өрнек мәндерін қорытады;
 
■ 
AVG(<
өрнек>) —  бұл  функция  таңдалған  жазбалардың  белгілі  бір 
өрісінде  сақталатын  мәндердің  жиынтығының  орташа  мәнін 
есептеуге мүмкіндік береді. Бұл орташа арифметикалық мән, яғни 
олардың санына бөлінетін мәндердің сомасы;
 
■ 
МАХ (<өрнек>) — ең жоғарғы мәнді анықтайды;
 
■ 
МШ(<өрнек>) — ең төменгі мәнді анықтайды.
 
Барлық осы функциялар бір мәнде жұмыс істейді 
кестенің бағаны (бірнеше кестенің бағандары) немесе арифметикалық 
өрнекпен  бірге  бір  мәнді  қайтарады.  Кез  келген  функциялардың 
нәтижелерін  есептеу  кезінде  барлық  бос  мәндер  алдымен  жойылады, 
содан кейін қажетті операция қолданылады
 
256
 


бағанның қалған ерекше мәндеріне ғана. COUNT (*) нұсқасы - COUNT 
функциясын  пайдаланудың  ерекше  жағдайы,  оның  мақсаты  бос, 
қайталанатын  немесе  кез  келген  басқа  мәндер  бар-жоқтығына 
қарамастан алынған кестенің барлық жолдарын санау. Келесі сұраудың 
нәтижесінде САТЫЛЫМДАР кестесіндегі жолдар саны есептеледі:
 
SELECT Count (*) AS 
Сатылым саны FROM 
САТЫЛЫМДАР
 
Егер  сіз  бірдей  жазбалар  тобынан  біреуін  қарастыруыңыз  қажет 
болса, онда жақшадағы өрнек кілт сөзді қамтиды DISTINCT:
 
COUNT(DISTINCT 
Тұтынушы)
 
DISTINCT 
Бұл MIN және MAX функциялары үшін мағынасы жоқ, 
бірақ оны пайдалану SUM және AVG функцияларының нәтижелеріне 
әсер етуі мүмкін, сондықтан әр нақты жағдайда қатысуы керек екенін 
алдын-ала  ойластырған  жөн.  Сонымен  қатар,  DISTINCT  кілт  сөзі  кез 
келген сұрауда бірнеше рет көрсетілуі мүмкін. 
Мысалы,  келесі  қоймада  тауарды  сатып  алатын  сатып  алушылар 
санын есептейді:
 
SELECT COUNT(DISTINCT 
САТЫЛЫМДАР. КЛИЕНТ) AS 
Тұтынушылар саны
 
FROM 
САТЫЛЫМДАР
 
Басқа  мысалда  бір  күнде  жіберілетін  тауарлардың  жалпы  құны 
есептеледі:
 
SELECT SUM^. 
Саны*Т. Құны) AS Жалпы Бағасы FROM 
САТЫЛЫМДАР П,ТАУАРЛАР Т
 
WHERE 
(П. тауар. Тауар) AND (П. Күні=' 02.04.2013')
 
COUNT,  MIN,  MAX  функциялары  сандық  және  сандық  емес 
өрістерге  де  қолданылады.  SUM  және  AVG  функциялары  сандық 
өрістер жағдайында ғана пайдаланылуы мүмкін. 
Кейде сұраулар сұрауларда талап етіледі, яғни сіз барлық деректер 
жиынтығына  емес,  белгілі  бір  топтар  үшін  функцияны  орындау 
нәтижесін аласыз (мысалы, белгілі бір күн үшін әрбір өнім үшін әрбір 
клиент үшін жиынтықты есептеңіз). Осы мақсатта SELECT операторы 
GROUP  BY  ережесін  қолданады.  GROUP  BY  қатысатын  сұрауды 
шақырады
 
257
 


 
Сұрауды топтастыру, себебі ол SALES операциясының нәтижесі ретінде 
алынған деректерді топтастырады. Әрбір жеке топ үшін бір жиынтық 
жол жасалады. SALES сөйлемінен кейін топтағы мәндерді өзгертпейтін 
сол бағандар тізімге енгізіледі, яғни олар топтауға қатысады. Мысалы, 
SALES кестесіндегі тауарларға арналған сұранысты топтастыру арқылы 
SALES  сөйлеміндегі  күнді  көрсете  алмайсыз,  себебі  сатудың  әртүрлі 
күндері  әр  өнімге  сәйкес келуі  мүмкін  және  сондықтан  мұндай  сұрау 
қате болады:
 
SELECT 
П.Тауар, П.Күні SUM(n. Саны)
 
FROM 
САТЫЛЫМДАР П 
GROUP BY 
П.Тауар
 
Сатылған тауарлардың жалпы санын алу үшін (12.6-сурет) сұрауды 
қолданыңыз:
 
SELECT 
П. Тауар, SUM^. Саны)
 
FROM 
САТЫЛЫМДАР П 
GROUP BY 
П. Тауар
 
Ал әрбір күн үшін сатылатын тауарлардың санын алу үшін, алдыңғы 
сұрауды келесідей түзету қажет:
 
SELECT 
П. тауар  П. Күні, SUM^. Саны)
 
FROM 
САТЫЛЫМДАР П
 
GROUP BY 
П. Тауар, П. Күні
 
Басқаша  айтқанда,  SALES  сөйлемі  тізімінде  тізілген  барлық  өріс 
атаулары,  жиынтығы  функциясында  баған  атауы  пайдаланылған 
жағдайды  қоспағанда, GROUP BY  сөйлемінде болуы  керек. Сонымен 
қатар GROUP BY сөйлемінде SALES сөйлемінде жоқ бағандар болуы 
мүмкін. 
Сұраулардағы  топтауды  қолданудың  тағы  бір  мысалы  -  әрбір 
клиенттің сатып алуларының қосалқы шоты:
 

Товар
 
SUM
 

 
Конфеты "Коровка"
 
65
 
 
Конфеты "Мишка"
 
30
 
 
Мармелад "Кроха"
 
20
 
 
Мука пшеничная
 
50
 
 
Сахар
 
50
 
 
Сосиски молочные
 
30
 
 
Халва
 
55
 
12.6 
сурет. Топтық сұранысты орындау нәтижелері
 
258
 


жүктеу 2,79 Kb.

Достарыңызбен бөлісу:
1   ...   79   80   81   82   83   84   85   86   ...   101




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау