MySQL-এ CASE স্টেটমেন্ট WHEN ক্লজের সাথে শর্তসাপেক্ষ লজিক প্রয়োগ করতে ব্যবহৃত হয়। এটি SQL কোয়েরি মধ্যে একাধিক শর্ত যাচাই করে ভিন্ন-भিন্ন ফলাফল প্রদান করতে সাহায্য করে।
সিনট্যাক্স
SELECT *,
CASE
WHEN yourCondition THEN yourStatement
WHEN yourCondition THEN yourStatement
...
ELSE yourStatement
END
FROM yourTableName;
উদাহরণ: ছাত্রদের নম্বর অনুযায়ী গ্রেড নির্ধারণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable (
-> StudentName VARCHAR(20),
-> StudentMarks INT
-> );
২. ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable VALUES('Chris', 78);
mysql> INSERT INTO DemoTable VALUES('Robert', 88);
mysql> INSERT INTO DemoTable VALUES('Mike', 75);
mysql> INSERT INTO DemoTable VALUES('Sam', 98);
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris | 78 |
| Robert | 88 |
| Mike | 75 |
| Sam | 98 |
+-------------+--------------+
৪. CASE WHEN ব্যবহার করে স্ট্যাটাস নির্ধারণ করুন
mysql> SELECT *,
-> CASE
-> WHEN StudentMarks > 90 THEN 'Very Good Score'
-> WHEN StudentMarks > 80 THEN 'Good Score'
-> ELSE 'Not Good'
-> END AS Status
-> FROM DemoTable;
৫. ফলাফল
+-------------+--------------+-----------------+
| StudentName | StudentMarks | Status |
+-------------+--------------+-----------------+
| Chris | 78 | Not Good |
| Robert | 88 | Good Score |
| Mike | 75 | Not Good |
| Sam | 98 | Very Good Score |
+-------------+--------------+-----------------+
ব্যাখ্যা: এখানে ৯০-এর বেশি নম্বর পেলে "Very Good Score", ৮০-এর বেশি পেলে "Good Score", অন্যথায় "Not Good" দেখানো হয়েছে। CASE স্টেটমেন্ট শর্তগুলি ক্রমাগত যাচাই করে প্রথম মিল পাওয়া শর্তের ফলাফল প্রদান করে।