কম্পিউটার টিউটোরিয়াল

MySQL-এ CASE WHEN দিয়ে ছাত্রদের নম্বর অনুযায়ী কাস্টম মেসেজ সেট করা

শর্তভিত্তি আউটপুট তৈরি করতে CASE WHEN (Searched CASE) ব্যবহার করা সবচেয়ে পঠনীয় এবং স্ট্যান্ডার্ড পদ্ধতি।

টেবিল ও ডেটা তৈরি

mysql> CREATE TABLE DemoTable1952 (Marks INT);

mysql> INSERT INTO DemoTable1952 VALUES (35), (65), (55), (39);

ডেটা যাচাই

mysql> SELECT * FROM DemoTable1952;
+-------+
| Marks |
+-------+
|    35 |
|    65 |
|    55 |
|    39 |
+-------+

CASE WHEN কোয়েরি

mysql> SELECT 
    CASE 
        WHEN Marks > 40 THEN 'Good Marks' 
        ELSE 'Not Good Marks' 
    END AS Result
    FROM DemoTable1952;

আউটপুট:

+----------------+
| Result         |
+----------------+
| Not Good Marks |
| Good Marks     |
| Good Marks     |
| Not Good Marks |
+----------------+

CASE WHEN সিনট্যাক্স

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE result_default
END
  • শর্তগুলো ক্রমানুসারে যাচাই হয়, প্রথম মেলায় থেমে যায়।
  • ELSE অপশনাল — নথলে NULL রিটার্ন করে।

বহু-শর্ত উদাহরণ (Grade সিস্টেম)

SELECT Marks,
    CASE
        WHEN Marks >= 80 THEN 'A+'
        WHEN Marks >= 70 THEN 'A'
        WHEN Marks >= 60 THEN 'A-'
        WHEN Marks >= 50 THEN 'B'
        WHEN Marks >= 40 THEN 'C'
        ELSE 'F'
    END AS Grade
FROM DemoTable1952;

UPDATE-এ CASE ব্যবহার (আর্টিকেল ১০০৬০৭৫৪৭০-এ আছে)

আপডেটের সময়ও একই সিনট্যাক্স কাজ করে: SET col = CASE WHEN ... THEN ... ELSE ... END।

পারফরম্যান্স নোট

  • CASE এক্সপ্রেশন ইন্ডেক্স ব্যবহার করে না।
  • বড় টেবিলে ফিল্টারিং (WHERE) আগে করুন, তারপর CASE অ্যাপ্লাই করুন।
  • MySQL 8.0+ এ CASE WHEN ... THEN ... END অপ্টিমাইজার দিয়ে কিছুটা অপ্টিমাইজ হয়।
  1. MySQL CASE স্টেটমেন্ট দিয়ে ছাত্রদের ফলাফলে কাস্টম মেসেজ সেট করা

  2. MySQL-এ IF() ফাংশন দিয়ে NULL ভ্যালুর ভিত্তিতে কাস্টম টেক্সট দেখানো

  3. MySQL-এ IF ফাংশন ব্যবহার করে ENUM ভ্যালুর জন্য কাস্টম মেসেজ সেট করা

  4. MySQL-এ ইউজার-ডিফাইনড ভ্যারিয়েবল, IF এবং SELECT ব্যবহার করে কাস্টম মেসেজ সেট করা