Asosiy matnga o'tish

159. NULL: uch qiymatli mantiq tuzog'i

Qiyin

Bonusi 100 ga teng bo'lmagan xodimlarni toping — bonusi **umuman

qo'yilmaganlar** (NULL) ham shu ro'yxatga kirishi kerak.

⚠️ WHERE bonus <> 100 deb yozsangiz, NULL li qatorlar **jimgina

yo'qoladi**. Sabab: NULL <> 100 TRUE ham, FALSE ham emas —

u UNKNOWN, WHERE esa faqat TRUE bo'lgan qatorlarni o'tkazadi.

Ikki yechim bor:

WHERE bonus IS DISTINCT FROM 100        -- NULL ni ham "farq qiladi" deb sanaydi
WHERE bonus <> 100 OR bonus IS NULL     -- yoki shartni ochiq yozish

Ustunlar: id, name, bonus.

Saralash: id o'sish.

employees: id INT PK, name VARCHAR, bonus INT NULL

Namuna ma'lumotlar

sample
employees
idINTnameVARCHAR(60)bonusINT
1Aziz Karimov100
2Malika YusupovaNULL
3Bekzod Rahimov250
Kutilgan natija
idnamebonus
2Malika YusupovaNULL
3Bekzod Rahimov250
sample-full
employees
idINTnameVARCHAR(60)bonusINT
1Aziz Karimov100
2Malika YusupovaNULL
3Bekzod Rahimov250
4Nilufar Karimova100
5Jasur AbdullayevNULL
6Dilnoza Toshpulatova0
7Sardor Rahimov50
8Zilola ErgashevaNULL
9Otabek Nazarov100
10Kamola Abdullayeva300
11Shahzod YusupovNULL
12Gulnora Nazarova75
13Farrux Karimov100
14Aziza Sobirova120
Kutilgan natija
idnamebonus
2Malika YusupovaNULL
3Bekzod Rahimov250
5Jasur AbdullayevNULL
6Dilnoza Toshpulatova0
7Sardor Rahimov50
8Zilola ErgashevaNULL
10Kamola Abdullayeva300
11Shahzod YusupovNULL
12Gulnora Nazarova75
14Aziza Sobirova120
sample-extra
employees
idINTnameVARCHAR(60)bonusINT
5Islom Xolmatov221
8Umida Abdullayeva100
2Eldor Tursunov100
1Sherzod Sobirov221
7Komil Raxmonov221
4Otabek Fayzullayev100
Kutilgan natija
idnamebonus
1Sherzod Sobirov221
5Islom Xolmatov221
7Komil Raxmonov221

O'xshash masalalar

Konsol

Natijani ko'rish uchun so'rovni ishga tushiring.