Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемПолина Гагина
1 Խմբավորում և ագրեգատային ֆունկցիաներ
2 Դիտարկենք Products հարաբերությունը Product IDProductName Supplier ID Unit Price UnitsIn StockDiscontinued… 1Chai … 2Chang … 3Aniseed Syrup … 4 Chef Anton's Cajun Seasoning … 5 Chef Anton's Gumbo Mix … 6 Grandma's Boysenberry Spread … 7 Uncle Bob's Organic Dried Pears … 8 Northwoods Cranberry Sauce … 9Mishi Kobe Niku … …………………
3 Ատրիբուտները ProductID- ապտանքի կոդ ProductName - ապրանքի անվանում SupplierID- մատակարարի կոդ UnitPrice- միավորի գին UnitsInStock - առկայության քանակ Discontinued- դաթարեցված է մատակարարումը …..
4 Գրել հարցում, որը կտա առկայությունում եղած արպանքի կոդը, մատակարարի կոդը, քանակը և գումար ` գին * քանակ SELECT ProductID, SupplierID,UnitsInStock, UnitPrice*UnitsInStock as Price UnitPrice*UnitsInStock as Price FROM Products
5 Դիցուք ուզում ենք իմանալ, առկայության մեջ եղած ապրանքների գումարները ըստ մատակարարի : Այսինքն ստանալ մատակարարի կոդը և առկայությունում եղած այդ մատակարարի մատակարարծ ապրանքների գումարը : Ստանալու համար անհրաժեշտ է խմբավորել մատակարարներին և յուրաքանչյուրի դիմաց գրել այդ մատակարարի մատակարարած ապրանքների առկայության գումարը : Խմբավորելու համար օգտագործում ենք GROUP BY- ը, որը գրվում է WHERE- ից հետո, ORDER BY- ից առաջ : Կորտեժների ատրբուտների արժեքները, կամ ատրիբուտներից կազմված թվաբանական արտահայտության արժեքները գումարելու համար օգտագործում ենք Sum() ագրեգատային ֆունկցիան : Հարցումը կունենա հետևյալ տեսքը
6 SELECT SupplierID, SUM(UnitPrice*UnitsInStock) as Price FROM Products GROUP BY SupplierID Եթե խմբավորումը կատարվում է ըստ մի քանի ատրիբուտի, ապա Group by- ից հետո թվարկվում են ստորակետով : Ընդ որում Group by- ին չմասնակցած ատրիբուտները Select- ում կարող հանդես գալ միայն որպես ագրեգատային ֆունկցիաների արգումենտ : Ագրեգատային ֆունկիաներն են SUM, AVG, COUNT,MAX, MIN
7 Ագրեգատային ֆունկցիաների նկարագրություն Ագրիգատային ֆունկցիա Արդյունք SUM([ALL | DISTINCT] expression) Թվաբանական արտահայտությունների արժեքների գումար : AVG([ALL | DISTINCT] expression) Թվաբանական արտահայտությունների արժեքների միջին : COUNT([ALL | DISTINCT] expression) Թվաբանական արտահայտությունների արժեքների քանակ : COUNT(*) Ընտրված տողերի քանակ MAX(expression) Թվաբանական արտահայտությունների արժեքների մաքսիմում : MIN(expression) Թվաբանական արտահայտությունների արժեքների մաքսիմում :
8 Having- խմբավորված տողերի ֆիլտրում Դիտարկենք նախորդ խնդիրը, բայց ավելացնենք պայման : Դիցուք մեզ հետաքրքրում են այն մատակարարներն ու նրաց մատակարարած ապրանքների գումարը, որոնց գումարը փոքր չէ ից : Հարցումը կունենա հետևյալ տեսքը.
9 SELECT SupplierID, SUM(UnitPrice*UnitsInStock) as Price FROM Products GROUP BY SupplierID HAVING SUM(UnitPrice*UnitsInStock)>3000
10 Խնդիրներ 1. Գտնել մատակարաներին և նրանց մատակարարած մոդելների քանակը : 2. Գտնել որ մատակարը քանի տեսակի ապրանք է մատակարարում : 3. Գտնել laptop- ների միջին գինը : 4. Գտնել յուրաքանչյուր երկրի կառուցած դասերի գլխավոր զենքի միջին տրամագիծը :
11 1. Գտնել Ships աղյուսակից յուրաքանչյուր դասի առաջին նավի ջուր իջեցման տարին : Կարգավորել տողերը ըստ դասի և ջուր իջեցման տարեթվի աճման կարգով : 2. Գտնել Paris-London չվերթ իրականացնող ավիաընկերությունների քանակը : 3. Գտնել յուրաքանչյուր ընդունման կերի հումքի դիմաց վճարված գումարը : 4. Գտնել այն ընդունման կետերը, որոնք ստացել են ից ավել գումար :
12 Ինքնուրույն կատարման համար 1. Գտնել մատանավերի այն դասերի անունները, որոնք 2 և ավելի նավ են ջուր իջեցրել : ( հաշվել միայն Ships աղյուսակի նավերը :) 2. Գտնել առաջին ծովամարտի ամսաթիվը :
13 1. Գտնել յուրաքանչյուր չվերթի, յուրաքանչյուր օրվա ուղղևորմերի քանակը : 2. Գտնել ուղևորներին, որոնք 2 և ավելի անգամ թռիչք են կատարել : 3. Գտնել այն ծովամարտերը, որոնցում ջրասույզ են եղել 2 և ավելի նավ : Ստանալ նաև յուրաքանչյուր ծովամարտում ջրասյուզ եղած նավերի քանակը :
14 1. Գտնել 64 և ավելի ram ունեցող համակարգիչնեչի նվազագույն գինը : 2. Գտնել laptop- ների յուրաքանչյուր էկրանի չափի համար միջին գինը :: Կարգավորել տողերը ըստ էկրանի չափի նվազման կարգով : 3. Գտնել ընդուման կետերը և օրերը, որտեղ կատարվել է 2 և ավել անգամ հումքի ընդունում : Առաջադրանքները ուղարկել հասցեով մինչև հաջորդ դասը նախորդող օրվա 18:00 կամ դասին տետրի մեջ :
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.