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

MySQL-এ CASE WHEN ক্লজে এক্সপ্রেশন সঠিকভাবে ব্যবহার করা

MySQL-এ CASE WHEN এক্সপ্রেশন সঠিক সিনট্যাক্সে লিখতে হয় যাতে এটি সঠিকভাবে কাজ করে।

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo58 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(20),
    last_name VARCHAR(20)
);

INSERT INTO demo58(first_name, last_name) VALUES 
('John', 'Doe'), ('David', 'Smith'), ('John', 'Brown'), ('David', 'Miller');

টেবিলের ডেটা:

+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
| 1  | John       | Doe       |
| 2  | David      | Smith     |
| 3  | John       | Brown     |
| 4  | David      | Miller    |
+----+------------+-----------+

কোয়েরি

first_name 'John' হলে 'Carol', last_name 'Smith' হলে 'Doe', অন্যথায় NULL:

SELECT 
    (CASE 
        WHEN (first_name = 'John') THEN 'Carol'
        WHEN (last_name = 'Smith') THEN 'Doe'
    END) AS RESULT
FROM demo58;

আউটপুট

+--------+
| RESULT |
+--------+
| Carol  |
| Doe    |
| Carol  |
| NULL   |
+--------+

ব্যাখ্যা:

  • ১ম রো: first_name='John' -> 'Carol' (প্রথম WHEN ম্যাচ, বাকি চেক নয়)।
  • ২য় রো: first_name='David' (নয়), last_name='Smith' -> 'Doe'।
  • ৩য় রো: first_name='John' -> 'Carol'।
  • ৪র্থ রো: first_name='David', last_name='Miller' -> কোনো WHEN ম্যাচ নয় -> NULL (ELSE নেই)।

সিনট্যাক্স টিপস:

  • CASE WHEN condition THEN result [WHEN ...] [ELSE result] END - সার্চড CASE (এখানে ব্যবহার করা হয়েছে)।
  • CASE expr WHEN value THEN result ... END - সিম্পল CASE (এক্সপ্রেশন তুলনা)।
  • প্যarethেসিস (CASE ... END) অপশনাল, কিন্তু রিডেবিলিটির জন্য ভালো।
  • ELSE না দিলে ডিফল্ট NULL রিটার্ন করে।
  1. MySQL-এ CASE WHEN-এর বিকল্প হিসেবে IF() ফাংশন ব্যবহার করুন

  2. MySQL-এ CASE WHEN দিয়ে শর্তভিত্তিক কাউন্ট করা (Conditional Aggregation)

  3. MySQL-এ একসাথে দুটি LIKE ক্লজ ব্যবহার করে সার্চ করা

  4. MySQL-এ CASE WHEN ক্লজে এক্সপ্রেশন সঠিকভাবে ব্যবহার করা