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

MySQL-এ IN অপারেটর দিয়ে একাধিক ভ্যালু ফিল্টার করা


IN অপারেটর ব্যবহার

একই কলামে একাধিক নির্দিষ্ট ভ্যালু ম্যাচ করাতে OR চেইন না করে IN অপারেটর ব্যবহার করুন। এটি পঠনযোগ্য এবং পারফরম্যান্সে ভালো।

সিনট্যাক্স

SELECT * FROM yourTableName WHERE yourColumnName IN ('value1', 'value2', 'value3', ...);

উদাহরণ

টেবিল তৈরি

mysql> create table InOperatorDemo (
    -> ClientId int
    -> );
Query OK, 0 rows affected (0.52 sec)

ডেটা ইনসার্ট

mysql> insert into InOperatorDemo values(101);
Query OK, 1 row affected (0.19 sec)
mysql> insert into InOperatorDemo values(110);
Query OK, 1 row affected (0.11 sec)
mysql> insert into InOperatorDemo values(120);
Query OK, 1 row affected (0.17 sec)
mysql> insert into InOperatorDemo values(230);
Query OK, 1 row affected (0.11 sec)
mysql> insert into InOperatorDemo values(270);
Query OK, 1 row affected (0.15 sec)
mysql> insert into InOperatorDemo values(300);
Query OK, 1 row affected (0.14 sec)

সকল রেকর্ড

mysql> select * from InOperatorDemo;

আউটপুট

+----------+
| ClientId |
+----------+
|      101 |
|      110 |
|      120 |
|      230 |
|      270 |
|      300 |
+----------+

IN দিয়ে ফিল্টার

mysql> SELECT * FROM InOperatorDemo WHERE ClientId IN ('120', '270', '300');

আউটপুট

+----------+
| ClientId |
+----------+
|      120 |
|      270 |
|      300 |
+----------+

নোট: সংখ্যাসূচক কলামে কোটেশন দিলেও MySQL অটোমেটিক কাস্ট করে। তবে স্ট্রিং কলামে কোটেশন বাধ্যতামূলক। বড় লিস্টের জন্য IN इंडেক্স ব্যবহার করে দ্রুত কাজ করে।

  1. MySQL-এ কলামকে ১০০ দিয়ে ভাগ করা (UPDATE)

  2. MySQL-এ IN() অপারেটর ব্যবহার করে একাধিক WHERE শর্তimple করা

  3. MySQL কোয়েরি কলাম মান রিপ্লেস করার জন্য

  4. MySQL-এ isMarried = 0 olan সারি গোষ্ঠী করে (GROUP BY) ক্লায়েন্ট অনুযায়ী বের করা