1-bob. Ma`lumotlar bazasining asosiy tushunchalari


SELECT MIN(QUOTA), MAX(QUOTA) FROM SALESREPS


Download 1.69 Mb.
bet53/80
Sana17.06.2023
Hajmi1.69 Mb.
#1542331
1   ...   49   50   51   52   53   54   55   56   ...   80
Bog'liq
ec613b75a51decaf6d60405d564c5683 MySQL po max

SELECT MIN(QUOTA), MAX(QUOTA) FROM SALESREPS


Bu sonlarni o‘z ichiga olgan ustunlardir. Yana bir so‘rov beramiz: bazadagi buyurtmalarning ichida eng oldin berilgan so‘rov sanasi?


SELECT MIN(ORDER_DATE) FROM ORDERS


Satrlar bilan ishlaganda har xil SQL serverlardagi kodirovkalar har xil natija berishi mumkin. Yozuvlar sonini sanash uchun COUNT() qo‘llanadi. Bu funksiya son qiymat qaytaradi.


Masalan: Kompaniyamiz mijozlari soni nechta?

SELECT COUNT(CUST_NUM) FROM CUSTOMERS


Yana bir so‘rov: Qancha xizmatchi rejani ortig‘i bilan bajardi?


SELECT COUNT(NAME) FROM SALESREPS WHERE SALES > QUOTA


COUNT(*) funksiyasi qiymatlar sonini emas, satrlar sonini hisoblaydi. Quyidagicha yozish mumkin:


SELECT COUNT(*) FROM ORDERS WHERE AMOUNT > 250




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‘rovni ko‘ramiz:

SELECT COUNT(*), COUNT(SALES), COUNT(QUOTA) FROM SALESREPS


Jadval bitta lekin so‘rovdagi qiymatlar har 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 hisoblaydi. MIN(), MAX() funksiyalari ham 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 – UOTA)) FROM SALESREPS

(SUM(SALES)-SUM(QUOTA)) va (SUM(SALES-QUOTA))


ifodalari agar QUOTA, maydoni NULL qiymatga ega bo‘lsa har xil qiymat qaytaradi. Ya‘ni ifoda SUM(ustun qiymati - NULL). Yana NULL qaytaradi. Shunday qilib:

  1. Agar ustundagi qiymatlardan biri NULL ga teng bo‘lsa, funksiya natijasini hisoblashda ular tashlab yuboriladi.

  2. Agar ustundagi hamma qiymatlar NULL ga teng bo‘lsa, AVG(), SUM(), MIN(), MAX() funksiyalari NULL qaytaradi. Funksiya COUNT() nolь qaytaradi.

  3. Agar ustunda qiymatlar bo‘lmasa (ya‘ni ustun bo‘sh), AVG(), SUM(), MIN(), MAX() funksiyalari NULL qaytaradi. Funksiya COUNT()nolь qaytaradi.

  4. Funksiya COUNT(*) satrlar sonini hisoblaydi va ustunda NULL qiymat bor yo‘qligiga bog‘liq emas. Agar ustunda satrlar bo‘lmasa, bu funksiya nol qaytaradi.

  5. DISTINCT funksiyasini agregat funksiyalar bilan birga ishlatish mumkin.

Masalan quyidagi so‘rovlarda: kompaniyamizda qancha har xil raportlar nomlari mavjud?

Download 1.69 Mb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   ...   80




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