Obyektlarining funksiyalariga izoh bering. Reja: Sql da so‘rovlarni guruxlash va funksiyalar


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


Download 24.87 Kb.
bet3/7
Sana21.02.2023
Hajmi24.87 Kb.
#1216560
1   2   3   4   5   6   7
Bog'liq
Obyektlarining funksiyalariga izoh bering

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
(SUM(SALES)-SUM(QUOTA)) va (SUM(SALES-QUOTA)) ifodalari agar QUOTA, maydoni NULL qiymatga ega bo‘lsa xar 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 xisoblashda ular tashlab yuboriladi!
2. Agar ustundagi xamma 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 xisoblaydi 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: 
1. Kompaniyamizda qancha xar xil raportlar nomlari mavjud? 
SELECT COUNT(DISTINCT TITLE)
FROM SALESREPS
DISTINCT va agregatlar ishlashda quyidagi qoidalar mavjud. Agar siz DISTINCT va agregat funksiyani ishlatsangiz uning argumenti faqat ustun nomi bo‘lishi mumkin, ifoda argument bo‘lolmaydi. MIN(), MAX() funksiyalarida DISTINCT ishlatish ma’nosi yo‘q! COUNT() funksiyasida DISTINCT ishlatiladi, lekin kam xollarda. COUNT(*) funksiyasiga umuman DISTINCT qo‘llab bo‘lmaydi, chunki u satrlar sonini xisoblaydi! Bita so‘rovda DISTINCT faqat bir marta qo‘llanishi mumkin! Agarda u agregat funksiya argumenti sifatida qo‘llanilsa,boshqa argument Bilan qo‘llash mumkin emas! 

Download 24.87 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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