Խմբավորում և ագրեգատային ֆունկցիաներ. Դիտարկենք Products հարաբերությունը Product IDProductName Supplier ID Unit Price UnitsIn StockDiscontinued… 1Chai118.00390…

Презентация:



Advertisements
Похожие презентации
Հարցումներ հիմնված մեկից ավելի աղյուսակների վրա. SQL- ը հնարավորություն է տալիս միակցելով (join) երկու և ավելի աղյուսակ ստանալ նոր աղյուսակ : Տարբերակվում.
Advertisements

Միավորում, հատում, հանում. ՄԻԱՎՈՐՈՒՄ (UNION, UNION ALL) Դիցուք ունենք հետևյալ `T1 և T2 աղյուսակները. AB 1C 2E 3KAB 1C 7D Select A,B From T1 Union Select.
Հարցումներ հիմնված մեկից ավելի աղյուսակների վրա ( շարունակություն )
Ենթահարցումներ (Subqueries). Ենթահարցումը SQL հարցում է օգտագործված մեկ այլ հարցման մեջ : Ենթահարցումները կարող են օգտագործվել Select- ի ցուցակում,from-
SQL (Structured Query Language) Կառուցվածքային հարցումների լեզու.
Adobe Photoshop Adobe Photoshop Adobe Photoshop Adobe Photoshop Corel Draw Corel Draw Corel Draw Corel Draw.
Վիրտուալ հիշողություն Windows. Հիշողության կազմակերպումը Հիշողության կազմակերպումը Ինչպես բաշխել հիշողությունը պրոցեսների միջև Ինչպես բաշխել հիշողությունը.
Թեմա 3 Զբոսաշրջային ձեռնարկության մարքեթինգային համալիրի մշակումը կամ « մարքեթինգ - միքս »
Պրոցեսների ստեղծումը Linux ՕՀ - ում. fork fork ֆունկցիան ստեղծում է նոր ( զավակ ) պրոցես : fork ֆունկցիան ստեղծում է նոր ( զավակ ) պրոցես : #include #include.
Հոսքերը Windows ՕՀ - ում. Ներածություն Ներածություն Հոսքի ստեղծումը Հոսքի ստեղծումը Հոսքի ավարտը Հոսքի ավարտը Հոսքի ստեկը Հոսքի ստեկը Հոսքերի առաջնայնությունը.
Հետո ԵԹԵ ՆԿԱՐԸ ԻՆՏԵՐՆԵՏԻՑ Է ( ավելի հեշտ է ). Կբացվի նոր պատուհան հետո.
« Պատմությունից մենք քաղում ենք իմաստություն, պոեզիայից ` մտքի սրություն, մաթեմատիկայից ` խորաթափանցություն ( Ֆ. Բեկոն ) « Մաթեմատիկան հանդիսանում է կարգ,
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
Ես խաղայնացնում եմ … Լսարանում, սոցիալական աշխատանքի պրակտիկում դասընթացի գործնական պարապմունքների ժամանակ.
Основы реляционных баз данных Лекция 6. Введение в SQL Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н апреля 2008.
Combination. In mathematics a combination is a way of selecting several things out of a larger group, where (unlike permutations) order does not matter.
Бланк запроса. Создание списка специальностей Вид при конструирования запросов.
Агрегатные функции вычисляют некоторые скалярные значения в наборе строк. В MySQL есть следующие агрегатные функции : 1. AVG : вычисляет среднее значение.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
Транксрипт:

Խմբավորում և ագրեգատային ֆունկցիաներ

Դիտարկենք 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 … …………………

Ատրիբուտները ProductID- ապտանքի կոդ ProductName - ապրանքի անվանում SupplierID- մատակարարի կոդ UnitPrice- միավորի գին UnitsInStock - առկայության քանակ Discontinued- դաթարեցված է մատակարարումը …..

Գրել հարցում, որը կտա առկայությունում եղած արպանքի կոդը, մատակարարի կոդը, քանակը և գումար ` գին * քանակ SELECT ProductID, SupplierID,UnitsInStock, UnitPrice*UnitsInStock as Price UnitPrice*UnitsInStock as Price FROM Products

Դիցուք ուզում ենք իմանալ, առկայության մեջ եղած ապրանքների գումարները ըստ մատակարարի : Այսինքն ստանալ մատակարարի կոդը և առկայությունում եղած այդ մատակարարի մատակարարծ ապրանքների գումարը : Ստանալու համար անհրաժեշտ է խմբավորել մատակարարներին և յուրաքանչյուրի դիմաց գրել այդ մատակարարի մատակարարած ապրանքների առկայության գումարը : Խմբավորելու համար օգտագործում ենք GROUP BY- ը, որը գրվում է WHERE- ից հետո, ORDER BY- ից առաջ : Կորտեժների ատրբուտների արժեքները, կամ ատրիբուտներից կազմված թվաբանական արտահայտության արժեքները գումարելու համար օգտագործում ենք Sum() ագրեգատային ֆունկցիան : Հարցումը կունենա հետևյալ տեսքը

SELECT SupplierID, SUM(UnitPrice*UnitsInStock) as Price FROM Products GROUP BY SupplierID Եթե խմբավորումը կատարվում է ըստ մի քանի ատրիբուտի, ապա Group by- ից հետո թվարկվում են ստորակետով : Ընդ որում Group by- ին չմասնակցած ատրիբուտները Select- ում կարող հանդես գալ միայն որպես ագրեգատային ֆունկցիաների արգումենտ : Ագրեգատային ֆունկիաներն են SUM, AVG, COUNT,MAX, MIN

Ագրեգատային ֆունկցիաների նկարագրություն Ագրիգատային ֆունկցիա Արդյունք SUM([ALL | DISTINCT] expression) Թվաբանական արտահայտությունների արժեքների գումար : AVG([ALL | DISTINCT] expression) Թվաբանական արտահայտությունների արժեքների միջին : COUNT([ALL | DISTINCT] expression) Թվաբանական արտահայտությունների արժեքների քանակ : COUNT(*) Ընտրված տողերի քանակ MAX(expression) Թվաբանական արտահայտությունների արժեքների մաքսիմում : MIN(expression) Թվաբանական արտահայտությունների արժեքների մաքսիմում :

Having- խմբավորված տողերի ֆիլտրում Դիտարկենք նախորդ խնդիրը, բայց ավելացնենք պայման : Դիցուք մեզ հետաքրքրում են այն մատակարարներն ու նրաց մատակարարած ապրանքների գումարը, որոնց գումարը փոքր չէ ից : Հարցումը կունենա հետևյալ տեսքը.

SELECT SupplierID, SUM(UnitPrice*UnitsInStock) as Price FROM Products GROUP BY SupplierID HAVING SUM(UnitPrice*UnitsInStock)>3000

Խնդիրներ 1. Գտնել մատակարաներին և նրանց մատակարարած մոդելների քանակը : 2. Գտնել որ մատակարը քանի տեսակի ապրանք է մատակարարում : 3. Գտնել laptop- ների միջին գինը : 4. Գտնել յուրաքանչյուր երկրի կառուցած դասերի գլխավոր զենքի միջին տրամագիծը :

1. Գտնել Ships աղյուսակից յուրաքանչյուր դասի առաջին նավի ջուր իջեցման տարին : Կարգավորել տողերը ըստ դասի և ջուր իջեցման տարեթվի աճման կարգով : 2. Գտնել Paris-London չվերթ իրականացնող ավիաընկերությունների քանակը : 3. Գտնել յուրաքանչյուր ընդունման կերի հումքի դիմաց վճարված գումարը : 4. Գտնել այն ընդունման կետերը, որոնք ստացել են ից ավել գումար :

Ինքնուրույն կատարման համար 1. Գտնել մատանավերի այն դասերի անունները, որոնք 2 և ավելի նավ են ջուր իջեցրել : ( հաշվել միայն Ships աղյուսակի նավերը :) 2. Գտնել առաջին ծովամարտի ամսաթիվը :

1. Գտնել յուրաքանչյուր չվերթի, յուրաքանչյուր օրվա ուղղևորմերի քանակը : 2. Գտնել ուղևորներին, որոնք 2 և ավելի անգամ թռիչք են կատարել : 3. Գտնել այն ծովամարտերը, որոնցում ջրասույզ են եղել 2 և ավելի նավ : Ստանալ նաև յուրաքանչյուր ծովամարտում ջրասյուզ եղած նավերի քանակը :

1. Գտնել 64 և ավելի ram ունեցող համակարգիչնեչի նվազագույն գինը : 2. Գտնել laptop- ների յուրաքանչյուր էկրանի չափի համար միջին գինը :: Կարգավորել տողերը ըստ էկրանի չափի նվազման կարգով : 3. Գտնել ընդուման կետերը և օրերը, որտեղ կատարվել է 2 և ավել անգամ հումքի ընդունում : Առաջադրանքները ուղարկել հասցեով մինչև հաջորդ դասը նախորդող օրվա 18:00 կամ դասին տետրի մեջ :