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 25’
WHEN 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;