SQL CASE va NULL ifodalar

CASE kalit so’zi

CASE ifodasi ikki va unda ortiq shartlarni tekshiradi va shartni qanoatlantirgan birinchi ifodadagi qiymatni qaytaradi (if-then-else ifodasi kabi). Shuning uchun shart rost bo’lganda, tekshirishni to’xtatadi. Agar shartlarning birortasi rost bo’lmasa, ELSE ifodadagi qiymat qaytariladi.

Eslatma: Agar ELSE ifoda bo’lmasa va shartlarning hech biri qanoatlanmasa, NULL qiymat qaytariladi.

CASE ifodasining sintaksisi quyidagicha:

CASE
    WHEN shart1 THEN natija1
    WHEN shart2 THEN natija2
    WHEN shartN THEN natijaN
    ELSE natija
END;

Endi CASE ifodasi yordamida bir nechta so’rovlar yozamiz. Quyidagi Xaridorlar jadvalidagi qatorlarni Yoshi bo’yicha sinflarga ajratamiz.

SELECT XaridorIsmi,
CASE WHEN XaridorYoshi < 25 THEN ‘Yoshi 25 dan kichik’
WHEN XaridorYoshi < 25 THEN ‘Yoshi 25WHEN XaridorYoshi < 25 THEN ‘Yoshi 25 dan katta’
END AS ‘Yoshi’ FROM Xaridorlar;

Keling endi Websayt bo’yicha sinflaymiz.

SELECT XaridorIsmi,
CASE WHEN Websayt = ‘uzbekdevs.uz’ THEN ‘uzbekdevs.uz foydalanuvchisi’
WHEN Websayt = ‘blogpost.uz’ THEN ‘blogpost.uz foydalanuvchisi’
ELSE ‘boshqa sayt foydalanuvchisi’
END AS ‘Websayt’ FROM Xaridorlar;