Tarkibga o'tish

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.

Kutilgan natija
7
14
21
28

2. (dokon, oson) Email manzili bor mijozlar sonini chiqaring.

Kutilgan natija
26

3. (dokon, oson) Mijozlar id va emailini chiqaring; email yo'q bo'lsa 'yoq' deb ko'rsating (email).

Kutilgan natija

4. (dokon, oson) Email yo'q mijozlar ism va shaharini chiqaring.

Kutilgan natija
Nargiza Tursunov | Samarqand
Madina Yusupova | Buxoro
Vali Rahimova | Andijon
Otabek Aliyev | Namangan

5. (natija, oson) NULL = NULL ifodasi natijasini natija ustunida chiqaring.

Kutilgan natija
(natija bo'sh)

6. (natija, oson) NULL IS NULL ifodasi natijasini natija sifatida chiqaring.

Kutilgan natija
t

7. (natija, oson) 5 + NULL natijasini natija ustunida chiqaring.

Kutilgan natija
(natija bo'sh)

8. (dokon, o'rta) Emaili yo'q mijozlar sonini shahar bo'yicha chiqaring (shahar, soni).

Kutilgan natija
Andijon | 1
Buxoro | 1
Namangan | 1
Samarqand | 1

9. (dokon, o'rta) Email ustunidagi NULL qiymatlarni '-' bilan almashtirib, email uzunligini (uzunlik) chiqaring (id bo'yicha).

Kutilgan natija
1 | 13
2 | 13
3 | 13
4 | 13
5 | 13
6 | 13
7 | 1
8 | 13
9 | 13
10 | 14

10. (farq, o'rta) COUNT(*) va COUNT(email) farqini farq nomi bilan chiqaring.

Kutilgan natija
4

11. (maktab, oson) Telefoni yo'q o'quvchilar ismini chiqaring.

Kutilgan natija
Timur Ismoilov
Doniyor Ergashev
Sherzod Ismoilov
Aziz Ergashev
Timur Ismoilov
Doniyor Ergashev

12. (maktab, oson) Telefon raqami kiritilgan o'quvchilar sonini chiqaring.

Kutilgan natija
34

13. (maktab, oson) O'quvchilar id va telefonini chiqaring, bo'sh bo'lsa 'kiritilmagan' deb.

Kutilgan natija
1 | +998901012345
2 | +998901024690
3 | +998901037035
4 | +998901049380
5 | +998901061725
6 | kiritilmagan
7 | +998901086415
8 | +998901098760
9 | +998901111105
10 | +998901123450

14. (maktab, o'rta) Telefoni yo'q o'quvchilar sonini sinf bo'yicha chiqaring (sinf_id, soni).

Kutilgan natija
1 | 1
2 | 2
3 | 1
4 | 1
5 | 1

15. (holat, o'rta) Telefon bor-yo'qligini 'bor'/'yoq' qilib (holat) har bir o'quvchi uchun chiqaring (id bo'yicha).

Kutilgan natija
1 | bor
2 | bor
3 | bor
4 | bor
5 | bor
6 | yoq
7 | bor
8 | bor
9 | bor
10 | bor

16. (bank, oson) Telefoni yo'q bank mijozlari ismini chiqaring.

Kutilgan natija
Akmal Boboyev
Hamid Boboyev
Jahongir Boboyev

17. (bank, oson) Telefoni bor mijozlar sonini chiqaring.

Kutilgan natija
27

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).

Kutilgan natija
1 | 0.81
2 | 0.41
3 | 0.27
4 | 0.20
5 | 0.16

20. (bank, o'rta) Telefon ustida NULLIF(telefon,'') ishlatib, bo'sh telefonli mijozlar soni (soni) ni chiqaring.

Kutilgan natija
3

21. (kutubxona, oson) Qaytarilmagan ijaralar sonini chiqaring.

Kutilgan natija
14

22. (kutubxona, oson) Emaili yo'q a'zolar ismini chiqaring.

Kutilgan natija
Ulugbek Aminov
Munisa Aminov

23. (kutubxona, oson) A'zolar id va emailini chiqaring; yo'q bo'lsa 'noma''lum' bilan.

Kutilgan natija

24. (kutubxona, o'rta) Qaytarilmagan ijaralarni kitob_id bo'yicha sanab chiqaring (kitob_id, soni).

Kutilgan natija
1 | 1
6 | 1
11 | 2
16 | 2
21 | 2
26 | 2
31 | 2
36 | 2

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
1 | 2024-01-11
2 | 2024-01-16
3 | 2024-01-21
4 | 2024-01-26
5 | 2099-12-31
6 | 2024-02-05
7 | 2024-02-10
8 | 2024-02-15
9 | 2024-02-20
10 | 2099-12-31

26. (kutubxona, o'rta) Ijara uchun ushlab turish kunlarini (qaytarilgan - olingan) chiqaring; qaytarilmaganlar uchun 2024-12-31 gacha hisoblang (kun), birinchi 10 ta.

Kutilgan natija
1 | 6
2 | 7
3 | 8
4 | 9
5 | 345
6 | 11
7 | 12
8 | 13
9 | 14
10 | 325

27. (dokon, qiyin) Email yo'q mijozlar orasida eng birinchi (id eng kichik) ro'yxatdan o'tgan mijoz ismini chiqaring.

Kutilgan natija
Nargiza Tursunov

28. (bank, qiyin) Telefon NULL bo'lgan mijozlarning jami balansi (hisoblari bo'yicha, hisobi yo'q bo'lsa 0) ni jami sifatida chiqaring.

Kutilgan natija
98765360.00

29. (foiz, qiyin) Qaytarilmagan ijaralar ulushini foizda (foiz, 2 xona) hisoblang.

Kutilgan natija
20.00

30. (maktab, qiyin) Telefoni NULL bo'lgan o'quvchilar ichida o'rtacha ball (2 xona, ortacha) ni chiqaring.

Kutilgan natija
2.67