Mavzu: sqlda jarayonlar va standart funksiyalar


ttJyHKIJHfl Bo3Bpanj,a0Moe 3Hanemie


Download 1.01 Mb.
bet3/3
Sana24.12.2022
Hajmi1.01 Mb.
#1058727
1   2   3
Bog'liq
Munis-bekchanov-961-20-

ttJyHKIJHfl
  • Bo3Bpanj,a0Moe 3Hanemie
  • COUNT
  • KOJIHMECTBO 3HanGHMW B CTO/1S140 H/1H CTpOK B Ta6,n HI40
  • SUM
  • CyMMa
  • AVG
  • Cp0flH00
  • MIN
  • MHHMIViyM
  • MAX
  • MaKcmviyM
  • Yagona agregat funktsiyasining umumiy formati quyidagicha: function_name ([ALL | DISTINCT] ifoda)
  • m
  • bu erda DISTINCT funktsiya faqat argumentning har xil qiymatlarini hisobga olis] kerakligini va BARChA - barcha qiymatlarni, shu jumladan takroriy qiymatlarni (bi parametr sukut bo'yicha ishlatiladi) hisobga olish kerakligini bildiradi. Masalan, 1 1, 1 va 3 qiymatlari bo'lgan ustun satrlari uchun DISTINCT kalit so'zli AVC funktsiyasi 2 ni, agar ALL kalit so'z bo'lsa, u 1.5 ni qaytaradi.
  • Umumlashtirish vazifalari SELECT va HAVING iboralarida qo'llaniladi. Bu erda biz ularni SELECT gapida qanday ishlatilishini ko'rib chiqamiz. Bunday holda funktsiya argumentidagi ifoda SELECT iborasining kirish jadvalining barchi qatorlariga qo'llaniladi. Bundan tashqari, keyingi bo'limlarda muhokama qilinadigan GROUP BY iborasi bo'lmaganda, tanlangan vazifalarda va jadval ustunlarida (yok ular bilan ifodalangan) SELECT so'zlaridan foydalanib bo'lmaydi.
  • COUNT funktsiyasi ikkita formatga ega. Birinchi holda, kirish jadvalidagi satrla soni qaytariladi, ikkinchi holda, kirish jadvalidagi argument qiymatlari soni:
  • . COUNT (*)
  • . COUNT (ifoda)
  • Ushbu funktsiyadan foydalanishning eng oddiy usuli - jadvaldagi qatorlar sonin hisoblash (barchasi yoki belgilangan shartni qondiradiganlar). Buning uchun birinchi sintaksis variant ishlatiladi.
  • Talab: Ma'lumotlar bazasida mavjud bo'lgan mahsulotlar turlari soni.
  • TANLASH (*) AS "Mahsulotlar soni"
  • FROM Mahsuloti
  • COUNT funktsiyasining ikkinchi sintaksisida bitta ustun nomini argument sifatida ishlatish mumkin. Bunday holda, kirish jadvalining ushbu ustunidagi yoki faqa takrorlanmaydigan qiymatlarning soni hisoblanadi (DISTINCT kalit so'zidan foydalanib).
  • So'rov: Xaridor jadvalidagi turli xil nomlarning soni.
  • m
  • m
  • TANLASH (DISTINCT FNAME)
  • Qolgan birlashgan agregat funktsiyalaridan foydalanish COUNT ga o'xshashdir bundan tashqari MIN va MAX funktsiyalari uchun DISTINCT va ALL kali so'zlaridan foydalanish mantiqiy emas. COUNT, MAX va MIN funktsiyalarid; belgilarga qo'shimcha ravishda sonlardan tashqari foydalanish mumkin. Aga agregat funktsiyaning argumentida qiymatlar bo'lmasa, COUNT funktsiyasi 0 ni qolganlari esa NULLni qaytaradi.
  • SELECT MAX (OrdDate)
  • FROM
  • SQL tilida quyidagi ma'lumotlarni tanlash uchun so'rovlarni shakllantirish:
  • • Barcha buyurtmalarning umumiy qiymati;
  • • Xaridor jadvalida keltirilgan turli xil shaharlar soni.
  • Ma'lumotlar bazasida mavjud bo'lgan ma'lumotlarni umumlashtirish uchun SQL-da agregat vazifalari keltirilgan. Umumlashtiruvchi funktsiya ma'lumotlarning butui ustunini argument sifatida oladi va ma'lum bir tarzda bu ustunni umumlashtiradigan bitta qiymatni qaytaradi.
  • Masalan, AVG () agregat funktsiyasi argument sifatida raqamlar ustunini oladi va ularning o'rtacha qiymatini hisoblaydi.
  • Zelenogradda yashovchining jon boshiga o'rtacha daromadini hisoblash uchun sizga quyidagi so'rov kerak bo'ladi.
  • SQL-da har xil turdagi ma'lumotlarga ega bo'lish imkonini beradigan oltita agrega funktsiyalari mavjud (1-rasm):
  • - SUM () ustundagi barcha qiymatlarning yig'indisini hisoblaydi;
  • - AVG () ustundagi qiymatlarning o'rtacha qiymatini hisoblaydi;
  • - MIN () ustundagi barcha qiymatlarning eng kichigini topadi;
  • m
  • m
  • - MAX () ustundagi barcha qiymatlaming eng kattasini topadi;
  • - COUNT () ustundagi qiymatlar sonini hisoblaydi;
  • - COUNT (*) so'rov natijalari jadvalidagi qatorlar sonini hisoblaydi.
  • Umumiy funktsiyaning argumenti avvalgi misoldagi kabi oddiy ustun nomi yoki jon boshiga soliqni hisoblashni belgilaydigan quyidagi so'rovda ko'rsatilgan ibori bo'lishi mumkin:
  • AVGNI TANLASH (SUMD * 0.13)
  • Ushbu so'rov bajarilganda PERSON jadvalining har bir qatori uchun (SUMD * 0.13 qiymatlarni o'z ichiga olgan vaqtinchalik ustun yaratiladi va keyin vaqtinch; ustunning o'rtacha qiymati hisoblanadi.
  • Zelenogradning barcha aholisining umumiy daromadini SUM agregat funktsiyas yordamida hisoblash mumkin:
  • SHAXSIDAN YANGI (YoQING) TANLASH
  • Umumlashtirish funktsiyasidan bir nechta manba jadvallariga qo'shilish natijasid; olingan natijalar jadvaliga muvofiq hisoblash uchun foydalanish mumkin. Masalan "stipendiya" deb nomlangan manbadan rezidentlar olgan daromadlarning umumiy miqdorini hisoblashingiz mumkin:
  • Qaytarilgan ustunlar qatorida har qanday ustun nomining o'rniga siz agrega funktsiyasini belgilashingiz mumkin. Masalan, u ikkita umumlashtiruvch funktsiyalarning qiymatlari qo'shilgan yoki olib tashlanadigan ifodaga kiritilish mumkin:
  • SELECT MAX (SUMD) -MIN (SUMD) SHAXSNINGDAN
  • Ammo, agregat funktsiyasi boshqa agregat funktsiyasi uchun argument bo'la olmaydi, ya'ni. o'rnatilgan agregat funktsiyalari taqiqlanadi.
  • m
  • m
  • Masalan, oraliq natijani topish lozim bo‘lsin. Bu holda guruxlanishli so‘rov yordam beradi. YA’ni SELECT operatorining GROUP BY ifodasi. Avval GROUP BY ifodasi qatnashgan quyidagi so‘rovni ko‘ramiz: Xaar bir xizmatchi uchsun buyurtma o‘rtacha narxi qancha?
  • Select rep, avg(amount) from orders group by rep
  • REP maydoni bu xolda guruxlash maydonidir, ya’ni REP maydonning xamma qiymatlari guruxlarga ajratiladi va xar bir gurux uchun AVG(AMOUNT) ifodasi xisoblanadi! ya’ni quyidagilar bajariladi:
  • So‘rovlar xar bir xizmatchaga bittadan guruxga ajratiladi.Xar bir guruxda REP maydoni bir xil qiymatga ega.
  • Xar bir gurux uchun guruxga kiruvchi xamma satrlar bo‘yicha AMOUNT ustuni o‘rta qiymati xisoblanadi va bita natijaviy satr xosil qilinadi. Bu qator gurux uchun REP ustuni qiymati vash u gurux uchun so‘rov o‘rta qiymatini o‘z ichiga oladi.
  • SHunday qilib, GROUP BY ifodasi qo‘llanilgan so‘rov, "GURUXLANISHLI SO‘ROV " deb ataladi! SHu ifodadan keyin kelgan ustun "guruxlash ustuni " deyiladi. YAna bir necha guruxlanishli so‘rovlarni ko‘rib chiqamiz.
  • Xar bir ofis uchun sotuvlarning rejalashtirilgan xajmi diapazoni qancha?
  • Select rep_office, min(quota), max(quota) from salesreps group by rep_office
  • Yana bir so‘rov: Xar bir ofisda qancha xizmatchi ishlaydi?
  • Select rep_office, count(*) from salesreps group by rep_office
  • Yana bir guruxlanishli qiziqarli so‘rov: Xar bir xizmatchi nechta mijozga xizmat
  • m
  • ko‘rsatadi?
  • Select count(distinct cust_num), 'customers for salesreps', cust_rep from customers group by cust_rep
  • Bu erda 'CUSTOMERS FOR SALESREPS' psevdomaydonning ishlatilishiga e’tibortbering. So‘rov natijalarini bir nechta ustun bo‘yicha guruxlash mumkin. Masalan, quyidagicha:
  • Xar bir xizmatchi uchun xar bir klient bo‘yicha buyurtmalar umumiy sonini xisoblash.
  • Select rep, cust, sum(amount) from orders group by rep, cust
  • Lekin ikki ustun bo‘yicha guruxlashda natijalar ikki darajasiga ega guruxlar va ostki guruxlar yaratish mumkin emas. Lekin tartiblashni qo‘llash mumkin. SHu bilan birga GROUP BY ishlatilganda so‘rov natijalari avtomatik tartiblanadi. Quyidagi so‘rovni ko‘ramiz:
  • Xar bir xizmatchi uchun xar bir klient bo‘yicha buyurtmalar umumiy sonini xisoblash; so‘rov natijalarini klientlar va xizmatchilar bo‘yicha tartiblash.
  • Select rep, cust, sum(amount) from orders group by rep, cust order by rep, cust
  • Shunday qilib GROUP BY ifodasi SELECT ni guruxlarni qayta ishlashga majbur qiladi.

Adabiyotlar

  • 1. R.V.Qobulov, B.B.Akbaraliyev, J.T.Usmonov, O.B.Ro’ziboyev
  • Internet saytlari
  • 1. www.intiut.ru;
  • 2. www.oracle.com
  • 3. www.library.tuit.uz;
  • 4. www.intuit.ru;
  • 5. www.w3school.com;
  • 6. www.ziyonet.uz;

Download 1.01 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling