IF-ELSE স্টেটমেন্টে শর্তটি মানের ওপর ভিত্তি করে সত্য বা মিথ্যা হিসেবে মূল্যায়ন করা হয়। MySQL-এ CASE WHEN ... THEN ... ELSE ... END কনস্ট্রাক্ট ব্যবহার করা হয়।
উদাহরণ দেখি। প্রথমে একটি টেবিল তৈরি করব। CREATE কমান্ড ব্যবহার করে টেবিল তৈরি করা হয়।
mysql> create table IfelseDemo -> ( -> id int, -> FirstName varchar(100) -> ); Query OK, 0 rows affected (0.46 sec)
INSERT কমান্ড ব্যবহার করে রেকর্ড ইনসার্ট:
mysql> insert into IfelseDemo values(1,'John'); Query OK, 1 row affected (0.13 sec) mysql> insert into IfelseDemo values(2,'Carol'); Query OK, 1 row affected (0.31 sec) mysql> insert into IfelseDemo values(3,'John'); Query OK, 1 row affected (0.11 sec) mysql> insert into IfelseDemo values(4,'Carol'); Query OK, 1 row affected (0.14 sec) mysql> insert into IfelseDemo values(5,'John'); Query OK, 1 row affected (0.11 sec)
সকল রেকর্ড দেখুন:
mysql> select *from IfelseDemo;
আউটপুট:
+------+-----------+ | id | FirstName | +------+-----------+ | 1 | John | | 2 | Carol | | 3 | John | | 4 | Carol | | 5 | John | +------+-----------+ 5 rows in set (0.00 sec)
CASE WHEN (IF-ELSE) কোয়েরি
mysql> SELECT id, FirstName, -> (CASE WHEN (id = 2 AND FirstName = 'Carol') -> THEN 'Welcome Carol' -> ELSE 'You are not Carol with id 2' -> END) AS Message -> FROM IfelseDemo;
আউটপুট:
+------+-----------+-----------------------------+ | id | FirstName | Message | +------+-----------+-----------------------------+ | 1 | John | You are not Carol with id 2 | | 2 | Carol | Welcome Carol | | 3 | John | You are not Carol with id 2 | | 4 | Carol | You are not Carol with id 2 | | 5 | John | You are not Carol with id 2 | +------+-----------+-----------------------------+ 5 rows in set (0.00 sec)
নোট: MySQL-এ IF(condition, true_val, false_val) ফাংশনও আছে সরল শর্তের জন্য। CASE এক্সপ্রেশন দুটি ধরনের: সিম্পল (CASE expr WHEN val...) এবং সার্চড (CASE WHEN condition...).