MySQL CASE WHEN-এ একাধিক শর্ত (OR লজিক) বাস্তবায়ন
MySQL-এ CASE WHEN এক্সপ্রেশনে সরাসরি OR অপারেটর ব্যবহার করা যায় না। কিন্তু একাধিক WHEN ক্লজে একই ফলাফল দিয়ে OR-র মতো আচরণ করা যায়। অথবা শর্তে OR লিখলেই চলে।
উদাহরণ সহ ব্যাখ্যা
টেবিল তৈরি:
mysql> CREATE TABLE caseOrConditionDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(100),
-> Score INT
-> );
ডেটা ইনসার্ট:
mysql> INSERT INTO caseOrConditionDemo(Name, Score) VALUES
-> ('Larry', 85), ('Sam', 74), ('Mike', 76), ('Carol', 65);
বর্তমান ডেটা:
mysql> SELECT * FROM caseOrConditionDemo;
+----+-------+-------+ | Id | Name | Score | +----+-------+-------+ | 1 | Larry | 85 | | 2 | Sam | 74 | | 3 | Mike | 76 | | 4 | Carol | 65 | +----+-------+-------+
CASE WHEN-এ শর্ত (OR লজিক অন্তর্নিহিত):
mysql> SELECT Id, Name, Score,
-> CASE
-> WHEN Score > 75 THEN 'Better Score'
-> WHEN Score > 70 THEN 'Good Score'
-> ELSE 'Not Good Score'
-> END AS 'Performance'
-> FROM caseOrConditionDemo;
ফলাফল:
+----+-------+-------+----------------+ | Id | Name | Score | Performance | +----+-------+-------+----------------+ | 1 | Larry | 85 | Better Score | | 2 | Sam | 74 | Good Score | | 3 | Mike | 76 | Better Score | | 4 | Carol | 65 | Not Good Score | +----+-------+-------+----------------+
ব্যাখ্যা: শর্তগুলো ক্রমাগত চেক হয়। ৭৫-এর উপরে "Better", ৭০-৭৫ এর মাঝে "Good", বাকি "Not Good"। একই ফলাফলের জন্য একাধিক WHEN লিখলে OR-র মতো হয়।