Қазақстан республикасының бiлiм және ғылым министрлiгi



бет12/23
Дата01.06.2017
өлшемі6 Mb.
#17369
1   ...   8   9   10   11   12   13   14   15   ...   23

Тапсырма
1. 1990 жылдың қазан айындағы 3-ші немесе 4-ші күндеріндегі барлық тізімді шығаратын екі сұраныс жазыңыз.

2. Peel және Motika сатушылары қызмет көрсететін барлық тапсырыс берушілердің тізімін шығаратын сұраныс жазыңыз.

3. A және G әріптерінің аралығына кіретін әріптен басталатын тапсырыс берушілердің аттарын шығаратын сұраныс жазыңыз.

4. Аттары С әрпінен басталатын барлық қолданушылардың тізімін шығаратын сұраныс жазыңыз.

5. Мәндері нөлге тең барлық қатарларды шығаратын сұраныс жазыңыз.
5 Практикалық жұмыс

Тақырыбы: «Агрегаттық функциялар көмегімен берілгендерді жалпылау».

Жұмыстың мақсаты: SUM, AVG, COUNT, MAX және MIN агрегаттық функцияларды пайдалану арқылы берілген таңдамалы сұраулар интерпретациясының мазмұны мен практикалық ұғымдарды қалыптастыру.

Бұл жұмыста сіз базадан және ақытамадан ұғымдарды жоғалту үшін сұрауларды қарапайым пайдалаудан бастайсыз.

Сіз осылардан ақпарат алу үшін бұл ұғымдарды қалай пайдалана аласыз. Жазықтықтан топтық мағыналарды алып бірлік мағынаға дейін жинақтайтын агрегаттық немесе жалпы функциялардың көмегі арқылы жүзеге асады. Сіз бұл функцияларды қалай пайдалану керек екенін оларды қолдану үшін топтық ұғымдарды қалай ұолдану керек ененін және қортынды үшін кай топ анықталатынын білесіз, сонымен қатар қандай шарттарда бірлік сұрақтарда алынған ақпараттардан мағыналық жолақтарды біріктіруге болатынын көресіз.

Агрегаттық функциялар дегеніміз не?

Сұраулар жалпы топтық мағыналар және бірлік мағыналарды жасауы мүмкін. Оны агрегаттық функциялардың көмегімен жүзеге асырамыз. Агрегаттық функциялар барлық топтық кестелер үшін бәрләк мағына береді. Бұл функциялардың тізімі бар: * COUNT жолдардың номерін немесе сұралған NULL жазықтығының мағынасын білдіреді. * SUM барлық таңдалған жазықтықтың мағынасының арифметикалық сомасын береді. AVG берлілген жазықтықтың барлық таңдалған ұғымдарын қарапайымдандырады. MAX берлілген жазықтықтың барлық таңдалған ұғымдарын көптігін білдіреді. * MIN берлілген жазықтықтың барлық таңдалған ұғымдарын аздығын білдіреді.



Агрегаттық функцияларды қалай пайдалануға болады?

Агрегаттық функциялар SELECT сұрамында жолақтар атымен аттас пайдалнылады. Бірақ олар жолақтардың атын агрумент ретінде алады. Тек сандық жолақтар ғана SUM және AVG COUNT,MAX, MIN мен пайдаланылады. Символдық немесе сандық жазықтықтар ұолданылуыда мүмкін. Олар символдық жолақтармен қолданылғанда MAX және MIN ASCII эквивалетінде көрсетеді. ASCII MIN бірінші ал MAX соңғы мағынаны альфавиттік жүйеде хабарлап отыру керек. Айта кететін басты нәрсе қортынды функциялар HAVING сөйлемінің құрамында және SELECT сөйлемінің тізімінде ғана пайдаланылады. Басқа жағдайларда ол мүмкін емес. Егер SELECT сойлемінің тізімінде қортынды функциялар болса, ал сұрау мәтінінде топтардағы мәліметтерді біріктіруді қамтамасыз ететін GROUP BY фразасы болмаса онда SELECT сойлемінің тізімінде бірде бір элемент жазықтыққа қандайда бір ақпаратты енгізе алмайды. Бірақ жазықтық қортынды функцияның аргументі ретінде көрсетілсе онда ол енгізе алады.



Егер кестеден сіздің барлық тауарларыңыздың SUM табу үшін біз қортындысы мен келесі сұрауды енгізе алмыз.Сурет 1:

SELECT SUM (amt)

FROM Orders;

Сутер 1 Сумма таңдау



Әрине кестеде қанша жол барына тәуелсіз бірлік ұғым қайтарылатын жазықтық таңдауынан айырмашылығы бар. Сондықтан GROUP BY сөйлемі таңдалынбайынша агрегаттық функциялар жолақтар бір уақытта таңдалына алмайды. Орташа сумманы табу – ұқсас операция. Сурет2:

SELECT AVG (amt)

FROM Orders;

Сутер2 Орташасын таңдау



COUNT –тың арнайы атрибуттары

COUNT функциясы басқасынан ерекше. Олар бағандардағы ұғымдардың санын санайды немесе кестедегі жолдардың санын санайды. Жолақтарды мағынасын санағанда берілген жазықтықты әртүрлі мағыналардағы сандардың санын шығару үшін DISTINCT –пен қолдану. DISTINCT мысал біз мұны қазіргі уақытта кестеде сипаттталған сатушылардың номерін санау үшін қолдана аламыз. Қортындысы 3 сретте көрсетілген.



SELECT COUNT ( DISTINCT snum ) FROM Orders;

DISTINCT-ті қолдану.

Жоғарыдағы мысалға назар аударыңыз. DISTINCT өзі қолданылатын жазықтықтардың аты мен жай жақшаға алынады. Бірақ бұрынғыдай SELECT –тен киін емес. Бұл қолдануды DISTINCT пен COUNT жеке бағандарда пайдалану үшін ANSI стандартын талап етеді, бірақ көптеген бағдарламалар санын оларға осындай талап қоймайды.Сутер 3:



Сурет 3 Жазықтықтық мағыналар

Сіз DISTINCT көмегімен жолақтар таңдау орындалмаса бірлік сұрауларда DISTINCT көмегімен жазықтықтан (COUNT ) көп санды есептеулерді таңдай аласыз. DISTINCT былайда қолданыла алады: агрегаттың кез келген функциясымен, бірақ ол COUNT жиі пайдаланылады. MAX және MIN ешкандай эффект бомайды. Ал SUM және AVG сіз әдетте қайталанатын ұғымдарды қосу үшін барлық бағандардың орташа және жалпы мәніне заңды түрде пайдалы нұсқа болады.



Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   23




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

    Басты бет