914-19-guruh talabasi
Shomurotov Og`abekning
Ma’lumotlar Bazasi
fanidan laboratoriya ishi
8-Laboratoriya ishi
Mavzu: Standart funksiyalardan foydalanib so’rovlar yaratish. Agregat funksiyalardan foydalanish.
Ishdan maqsad: Standart funksiyalardan foydalanib turli so’rovlar yaratish.
Agregat funksiyalardan foydalanishni o’rganish.
Nazariy qism:
Agregat funksiyalar qo‘llanishi. Agregat (yoki STATIK) funksiyalar, sonli yoki hisoblanuvchi ustunlar bilan ishlaydi. Agregat funksiya argumenti butun ustun bo’lib, bitta qiymat qaytaradi. Bu funksiyalarni ko’rib chiqamiz:
- SUM() – Ustundagi xamma qiymatlar summasini hisoblaydi.
- AVG() – Ustundagi xamma qiymatlar o’rtachasining qiymatini hisoblaydi.
- MIN() – Ustundagi xamma qiymatlar eng kichigini aniqlaydi.
- MAX() – Ustundagi xamma qiymatlar eng kattasini aniqlaydi.
- COUNT() – Ustundagi qiymatlar sonini hisoblaydi.
- COUNT(*) – So’rov natijalari jadvalidagi satrlar sonini hisoblaydi.
Ishni bajarish tartibi:
1. Satrlarni ulash CONACT funksiyasidan foydalanamiz. Bu funksiya orqali bir yoki bir nechta satrlarni ulash mumkin.
SQL: SELECT CONCAT('Og`abek_','Shomurotov_','912-19');
1.2.Satrlarni ajratuvchi belgi orqali ulash uchun CONCAT_WS() funksiyasidan oydalanamiz. Funksiya sintaksisi quyidagicha:
CONCAT_WS(ajratuvchi_belgi,satr1,satr2,...,satr_n);
SQL: SELECT CONCAT_WS('_','OG`ABEK','SHOMUROTOV','912-19');
1.3. Satrni uzunligini aniqlashda LENGTH() funksiyasidan foydalaniladi.
SQL: SELECT LENGTH('SHOMUROTOV OG`ABEK');
1.4. Belgilar uzunligini aniqlashda CHAR_LENGTH() funksiyasidan foydalanamiz. Probel ham bir belgi sanaladi.
SQL: SELECT LENGTH('Shomurotov Og`abek');
2. Ixtiyoriy bir satrni oldingi yani chap tomonidan n ta belgini olish uchun LEFT() funksiyasi ishlatiladi. Bu funksiya parametrlari sifatida satr, n natural son kiritiladi.
SQL: SELECT LEFT('Dasturlash',4)
2.1. Bosh harflarni kichik harflarga aylantirish uchun LOWER() funksiyasi ishlatiladi. Bu funksiya faqat bosh harflarni kichik harflarga aylantirdai. Bu funksiyaga teskari yani kichik harflarni bosh harflarga aylantiruvchi funksiya UPPER() funksiyasidir.
SQL: SELECT LOWER('ALGORITM va dastur');
2.2.Berilgan satrning chap yani oldi qismida probellar bo’lsa uni olib tashlash uchun TRIM() funksiyasi ishlatiladi.
SQL: SELECT LTRIM('MySQL va SQL');
Matematik funksiyalar.
3. Sonning modulini aniqlovchi funksiya ABS() funksiyasidir. Manfiy sonni musbatiga almashtiradi musbatini esa o’zgarishsiz qoldiradi.
SQL: SELECT ABS(-23.5);
3.1. CEIL() - Berilgan haqiqiy sonni, o’zidan kata bo’lgan eng kichik butun sonni
qaytaradi. Bu fuksiyani esda qoldirish uchun sonlar o’qida joylashgan x haqiqiy
sonni o’zidan o’ng tomonda turgan birinchi butun sonni qaytaradi deb tushinish
mumkin.
SQL: (SELECT CEIL(-12.3) AS `natija`)
UNION
(SELECT CEIL(12.7))
3.2.FLOOR() – bu funksiya berilgan haqiqiy sondan kichik bo’lgan eng kata sonni aniqlaydi v qaytaradi. Bu funksiyani esda qoldirish uchun sonlar o’qida joylashgan x soni berilgan bo’lsa shu sondan chap tomonda turgan butun sonni qaytaradi deb tushinish mumkin.
SQL: (SELECT FLOOR(-12.3) AS `natija`)
UNION
(SELECT FLOOR(12.7))
3.3. ROUND() – bu funksiya berilgan x haqiqiy sonni n xona aniqlikda chiqaradi.
SQL: ( SELECT ROUND(3.14151671,4) AS `natija`)
4. Bugungi kunni aniqlovchi funksiya CURDATE() deb nomlanadi. Bu funksiya YYYY-MM-DD ko’rinishida qaiymat qaytaradi. SQL: SELECT CURDATE() AS `Bugun`
4.1. Ikkita sana orasidagi kunlar sonini qaytaruvchi funksiya DATEDIFF() deb nomlanadi. Bu funksiya 2 ta parameter qabul qiladi. Umumiy ko’rinishi quyidagicha: DATEDIFF(sana1,sana2) natija esa sana1-sana2 n kun.
SQL: SELECT DATEDIFF('2020-12-31',CURDATE());
4.2. Hafta kuni nomini aniqlash uchun DAYNAME funksiyasidan foydalaniladi. Bu unksiya berilgan sana haftaning qaysi kuniga to’g’ri kelsa shu kun nomini qaytaradi.
SQL: (SELECT DAYNAME(CURDATE()) AS `Bugun`)
UNION
(SELECT CURDATE())
4.3. Ayni paytdagi sana va vaqtni qaytaruvchi funksiya NOW() deb nomlanadi.WEEKDAY() – funksiyasi esa berilgan sana haftaning qaysi sanasiga tegishli ekanligini raqamlar orqali ifodalaydi. (0-Yakshanba, 1-Dushanba, ... ,6-Shanba);
SQL: (SELECT NOW() AS `Hozir`)
UNION
(SELECT WEEKDAY(CURDATE()));
4.4. Tarmoqlanuvchi amallarni bajarish uchun IF() fuksiyasidan foydalaniladi. Bu funksiya berilgan qiymat rost bo’lsa 1-parametrni agar yolg’on bo’lsa 2-parametrni qaytaradi.
SQL: SELECT IF(10.29>0, 'Rost', 'Yolg\'on' );
4.5.
IFNULL() – funksiyasi 2 ta parameter qabul qiladi. Agar 1-parametr
NULL bo’lmasa o’zini aks xolda 2-parametrni qaytaradi.
SQL: (SELECT IFNULL(1,0) AS `Natija`)
UNION
(SELECT IFNULL(NULL,'Nol'))
5. CASE xizmatchi so’zi tarmoqlanuvchi ifodalarda tanlash imkoniyatini beradi.Uning umumiy ko’rinishi quyidagicha bo’ladi:
CASE `ustun_nomi` WHEN ‘ustun_qiymati’ THEN ‘yangi_qiymat’ ELSE
‘yangi_qiymat2’ END
SQL: SELECT `id`,
CASE `nomi`
WHEN 'mukaltin' THEN 'MUKALTIN'
WHEN 'trimol' THEN 'TRIMOL'
ElSE 'Dori nomi' END AS `Nomi`
FROM `tabletka`;
Xulosa:
Bu laboratoriya ishida matematik funksiyalar bilan, satrlar belgilar bilan ishlovchi, sana va vaqt bilan ishlovchi funksiyalar bilan tanishib chiqdim va o’rgandim. Funksiyalar orqali turli so’rovlar yaratishni o’rgandim.
Do'stlaringiz bilan baham: |