|
Mustaqil ish Bajardi: Toshkent-2023 Mavzu: sqlda jarayonlar va standart funksiyalar
| bet | 1/3 | Sana | 09.12.2023 | Hajmi | 67,1 Kb. | | #114652 |
Bog'liq Qq
O'zbekiston Respublikasi Raqamli Texnologiyalar Vazirligi
Muhammad Al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti
Mustaqil ish
Bajardi:
Toshkent-2023
Mavzu: SQLda jarayonlar va standart funksiyalar
Reja:
-
1. SQL tilida agregat funksiyalar
-
2. Agregat funksiyalar argumentlari
-
3.SQL tilida agregat funksiyalar.
-
Agregat funksiyalar qo‘llanishi
-
Agregat (yoki STATIK) funksiyalar, sonli yoki xisoblanuvchi ustunlar Bilan ishlaydi. Agregat funksiya argumenti butun ustun bo‘lib, bita qiymat qaytaradi.
-
Bu funksiyalarni ko‘rib chiqamiz:
-
1. SUM() - Ustundagi xamma qiymatlar summasini xisoblaydi.
-
2. AVG() - Ustundagi xamma qiymatlar o‘rtasi qiymatini xisoblaydi.
-
3. MIN() - Ustundagi xamma qiymatlar eng kichigini aniqlaydi.
-
4. MAX() - Ustundagi xamma qiymatlar eng kattasini aniqlaydi.
-
5. COUNT() - Ustundagi qiymatlar sonini xisoblaydi.
-
6. COUNT(*) - So‘rov natijalari jadvalidagi satrlar sonini xisoblaydi.
-
7. Komandalar sintaksisi ko‘rinishi:
-
-- SUM.............( --- ifoda................) ......................
-
-- DISTINCT - ustun nomi —
-
-- AVG ------------- ( --- ifoda ---------------- ) ----------------------
-
-- DISTINCT -- ustun nomi —
-
-- MIN.............( ifoda ) ...........................................
-
-- MAX ------------- ( ifoda ) -------------------------------------------
-
-- COUNT ------------- ( --------------------- ustun nomi) ---------------
-
-- DISTINCT --
-
-- COUNT(*)...................................................................
-
Agregatlash argumenti bo‘lib ustun nomidan tashqari ixtiyoriy matematik ifoda xizmat qilishi mumkin. Misol uchun quyidagi so‘rovda: Sizni kompaniyangizda reja bajarilishi o‘rtacha protsenti qancha?
-
Select avg(100 * (sales/quota))
-
FROM SALESREPS
-
YAna bir shakl: Sizni kompaniyangizda reja bajarilishi o‘rtacha protsenti qancha? Select avg(100 * (sales/quota)) procent from salesreps
-
Bu xolda ustun nomi ma’noliroq, lekin bu asosiysi emas. Ustunlar summasini xisoblab ko‘ramiz. SUM() funksiyasini qo‘llaymiz, ustun sonli bo‘lishi kerak! Masalan, quyidagicha: Kompaniya xizmatchilari sotuvlar xajmi rejadagi va xaqiqiy o‘rta qiymati qanchaga teng?
-
Select sum(quota), sum(sales) from salesreps
-
AVG() agregatlash funksiyasiga yana bir necha sodda misollarni ko‘ramiz.
-
Masalan: "ACI" ishlab chiqaruvchi mollari o‘rtacha narxini xisoblang.
-
Select avg(price) from products where mfr_id = 'aci'
-
Ekstremumlarni topish funksiyalari yani MIN(), MAX() funksiyalarini ko‘ramiz.Bu funksiyalar sonli ustunlar, sanalar va satrli o‘zgaruvchilar Bilan ishlaydi. Eng soda qo‘llanishi sonlar bilan ishlash.
-
Masalan quyidagi so‘rov beramiz: Eng ko‘p va kam sotuvlar rejadagi xajmi?
-
8. Select min(quota), max(quota)
-
9. from salesreps
-
10. Bu sonlarni o‘z ichiga olgan ustunlardir. YAna bir so‘rov beramiz: Bazadagi buyurtmalarning ichida eng oldin berilgan so‘rov sanasi?
-
11. Select min(order_date)
-
12. from orders
-
13. Satrlar Bilan ishlaganda xar xil SQL serverlardagi kodirovkalar xar xil natija berishi mumkin. YOzuvlar sonini sanash uchun COUNT() qoTlanadi. Bu funksiya son qiymat qaytaradi
-
Masalan: Kompaniyamiz mijozlari soni nechta?
-
14. Select count(cust_num)
-
15. From customers
-
16. YAna bir so‘rov: Qancha xizmatchi rejani ortig‘i bilan bajardi?
-
17. Select count(name)
-
18. from salesreps
-
19. where sales > quota
-
20. COUNT(*) funksiyasi qiymatlar sonini emas, satrlar sonini xisoblaydi. Quyidagicha yozish mumkin:
-
21. SELECT COUNT(*)
-
22. FROM ORDERS
-
23. WHERE AMOUNT > 250
-
24. NULL qiymat va agregat funksiyalar
-
Ustun qiymati NULL bo‘lsa AVG(), MIN(), MAX(), SUM(), COUNT() funksiyalari qanday qiymat qaytaradi? ANSI/ISO qoidalariga ko‘ra "agregat funksiyalar NULL qiymatni e’tiborga olmaydi"! Quyidagi so‘rov ko‘ramiz:
-
SELECT COUNT(*), COUNT (SALES), COUNT (QUOTA)
-
FROM SALESREPS
-
Jadval bita lekin so‘rovdagi qiymatlar xar xil. CHunki QUOTA maydoni- NULL qiymatni o‘z ichiga oladi. COUNT funksiyasi COUNT(maydon) ko‘rinishda bo‘lsa NULL qiymatni e’tiborga olmaydi, COUNT(*) bo‘lsa satrlar umumiy sonini xsoblaydi. MIN(), MAX() funksiyalari xam NULL qiymatni e’tiborga olmaydi, lekin AVG(), SUM() - NULL qiymat mavjud bo‘lsa chalkashtiradi. Masalan, quyidagi so‘rov:
-
SELECT SUM(SALES), SUM(QUOTA), (SUM(SALES) - SUM(QUOTA)), (SUM(SALES - QUOTA))
-
FROM SALESREPS
|
| |