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

MySQL-এ IF() ফাংশন ব্যবহার করে কোয়েরির ভিতরে শর্তসাপেক্ষ লজিক বাস্তবায়ন করুন

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 হ্যান্ডলিংয়ের জন্য ভালো।

  1. MySQL INSERT স্টেটমেন্টে কলাম নাম নির্ধারণ করা

  2. MySQL-এ কলামের সর্বোচ্চ মান পেতে সবচেয়ে দ্রুত পদ্ধতি: MAX() বনাম ORDER BY LIMIT

  3. MySQL টেবিলে বড় পরিমাণ রো দ্রুত ইনসার্ট করার সেরা পদ্ধতি

  4. MySQL-এ DECIMAL(19,2) কলামে ইনসার্ট সময় TRUNCATE ব্যবহার করে মান সংরক্ষণ করা