003. NULL bilan ishlash
Bu mavzuda IS NULL, COALESCE va NULLIF bo'yicha 30 ta masala bor. Har bir masala oldida qavs ichida sxema nomi va qiyinlik darajasi ko'rsatilgan. Sxemalar Sxemalar va tayyorlov sahifasida berilgan.
Masalani o'zingiz yechib, natijani Kutilgan natija bilan solishtiring. O'zgartiruvchi masalalarda (INSERT, UPDATE, DELETE, DDL) natija shartda aytilgan tekshiruv so'rovidan olingan. Natija 10 qatordan ko'p bo'lsa, birinchi 10 qator ko'rsatilgan.
1. (dokon, oson) Email manzili yo'q (NULL) mijozlar id sini chiqaring.
2. (dokon, oson) Email manzili bor mijozlar sonini chiqaring.
3. (dokon, oson) Mijozlar id va emailini chiqaring; email yo'q bo'lsa 'yoq' deb ko'rsating (email).
Kutilgan natija
1 | [email protected]
2 | [email protected]
3 | [email protected]
4 | [email protected]
5 | [email protected]
6 | [email protected]
7 | yoq
8 | [email protected]
9 | [email protected]
10 | [email protected]
4. (dokon, oson) Email yo'q mijozlar ism va shaharini chiqaring.
Kutilgan natija
5. (natija, oson) NULL = NULL ifodasi natijasini natija ustunida chiqaring.
6. (natija, oson) NULL IS NULL ifodasi natijasini natija sifatida chiqaring.
7. (natija, oson) 5 + NULL natijasini natija ustunida chiqaring.
8. (dokon, o'rta) Emaili yo'q mijozlar sonini shahar bo'yicha chiqaring (shahar, soni).
9. (dokon, o'rta) Email ustunidagi NULL qiymatlarni '-' bilan almashtirib, email uzunligini (uzunlik) chiqaring (id bo'yicha).
10. (farq, o'rta) COUNT(*) va COUNT(email) farqini farq nomi bilan chiqaring.
11. (maktab, oson) Telefoni yo'q o'quvchilar ismini chiqaring.
Kutilgan natija
12. (maktab, oson) Telefon raqami kiritilgan o'quvchilar sonini chiqaring.
13. (maktab, oson) O'quvchilar id va telefonini chiqaring, bo'sh bo'lsa 'kiritilmagan' deb.
Kutilgan natija
14. (maktab, o'rta) Telefoni yo'q o'quvchilar sonini sinf bo'yicha chiqaring (sinf_id, soni).
15. (holat, o'rta) Telefon bor-yo'qligini 'bor'/'yoq' qilib (holat) har bir o'quvchi uchun chiqaring (id bo'yicha).
16. (bank, oson) Telefoni yo'q bank mijozlari ismini chiqaring.
17. (bank, oson) Telefoni bor mijozlar sonini chiqaring.
18. (bank, o'rta) Mijoz ismi va telefonini chiqaring; telefon NULL bo'lsa '+998000000000' qo'ying.
Kutilgan natija
Shahzoda Normatova | +998932007777
Akmal Sobirov | +998932015554
Dildora Orifova | +998932023331
Hamid Boboyev | +998932031108
Kamola Normatova | +998932038885
Jahongir Sobirov | +998932046662
Shahzoda Orifova | +998932054439
Akmal Boboyev | +998000000000
Dildora Normatova | +998932069993
Hamid Sobirov | +998932077770
19. (bank, o'rta) NULLIF(balans, 0) ishlatib, balansga bo'linuvchi xavfsiz nisbat: 1000000/NULLIF(balans,0) ni 2 xonagacha (nisbat) har bir hisob uchun chiqaring (id bo'yicha, birinchi 5 ta).
20. (bank, o'rta) Telefon ustida NULLIF(telefon,'') ishlatib, bo'sh telefonli mijozlar soni (soni) ni chiqaring.
21. (kutubxona, oson) Qaytarilmagan ijaralar sonini chiqaring.
22. (kutubxona, oson) Emaili yo'q a'zolar ismini chiqaring.
23. (kutubxona, oson) A'zolar id va emailini chiqaring; yo'q bo'lsa 'noma''lum' bilan.
Kutilgan natija
1 | [email protected]
2 | [email protected]
3 | [email protected]
4 | [email protected]
5 | [email protected]
6 | [email protected]
7 | [email protected]
8 | [email protected]
9 | noma'lum
10 | [email protected]
24. (kutubxona, o'rta) Qaytarilmagan ijaralarni kitob_id bo'yicha sanab chiqaring (kitob_id, soni).
25. (kutubxona, o'rta) Ijara id va qaytarilgan sanani chiqaring; NULL bo'lsa 2099-12-31 deb (sana), birinchi 10 ta id bo'yicha.
Kutilgan natija
26. (kutubxona, o'rta) Ijara uchun ushlab turish kunlarini (qaytarilgan - olingan) chiqaring; qaytarilmaganlar uchun 2024-12-31 gacha hisoblang (kun), birinchi 10 ta.
27. (dokon, qiyin) Email yo'q mijozlar orasida eng birinchi (id eng kichik) ro'yxatdan o'tgan mijoz ismini chiqaring.
28. (bank, qiyin) Telefon NULL bo'lgan mijozlarning jami balansi (hisoblari bo'yicha, hisobi yo'q bo'lsa 0) ni jami sifatida chiqaring.
29. (foiz, qiyin) Qaytarilmagan ijaralar ulushini foizda (foiz, 2 xona) hisoblang.
30. (maktab, qiyin) Telefoni NULL bo'lgan o'quvchilar ichida o'rtacha ball (2 xona, ortacha) ni chiqaring.