MySQL-এ SELECT কোয়েরির ভিতরেই শর্তসাপেক্ষ লজিক (If-Else) বাস্তবায়ন করতে IF() ফাংশন ব্যবহার করা হয়। এটি CASE WHEN এর সংক্ষিপ্ত রূপ।
সিনট্যাক্স
SELECT yourColumnName, IF(yourCondition, valueIfTrue, valueIfFalse) FROM yourTableName;
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable1571 (Id INT, Value INT);
২. ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable1571 VALUES(101, 500), (102, 450), (103, 300), (104, 700);
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable1571;
আউটপুট:
+------+-------+
| Id | Value |
+------+-------+
| 101 | 500 |
| 102 | 450 |
| 103 | 300 |
| 104 | 700 |
+------+-------+
৪. IF() ব্যবহার করে ৫৫০ এর চেয়ে বড়/ছোট লেবেল দেখান
mysql> SELECT Value,
-> IF(Value > 550, 'Value is greater than 550', 'Value is less than 550')
-> FROM DemoTable1571;
৫. ফলাফল
+-------+-----------------------------------------------------------------------+
| Value | if(Value > 550, 'Value is greater than 550', 'Value is less than 550') |
+-------+-----------------------------------------------------------------------+
| 500 | Value is less than 550 |
| 450 | Value is less than 550 |
| 300 | Value is less than 550 |
| 700 | Value is greater than 550 |
+-------+-----------------------------------------------------------------------+
নেস্টেড IF উদাহরণ:
SELECT Value,
IF(Value > 550, 'High',
IF(Value > 300, 'Medium', 'Low')
) AS Category
FROM DemoTable1571;
IF vs CASE: IF - দুটি শর্তের জন্য সিম্পল। CASE - একাধিক শর্ত, রেঞ্জ চেক, NULL হ্যান্ডলিংয়ের জন্য ভালো।