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

MySQL-এ WHERE ক্লজে OR ও IN() একসাথে ব্যবহার করা

একই কোয়েরিতে একাধিক শর্ত যুক্ত করতে OR এবং IN() একসাথে ব্যবহার করা যায়। এটি ফ্লেক্সিবল ফিল্টারিংয়ের জন্য উপযোগী।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> create table DemoTable777 (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(100),
    StudentAge int
);
Query OK, 0 rows affected (1.34 sec)
mysql> insert into DemoTable777(StudentName, StudentAge) values('Chris', 23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable777(StudentName, StudentAge) values('Robert', 21);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable777(StudentName, StudentAge) values('Mike', 19);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable777(StudentName, StudentAge) values('Bob', 22);
Query OK, 1 row affected (0.19 sec)

সকল রেকর্ড

mysql> select * from DemoTable777;

আউটপুট:

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
| 1         | Chris       | 23         |
| 2         | Robert      | 21         |
| 3         | Mike        | 19         |
| 4         | Bob         | 22         |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

OR ও IN() একসাথে ব্যবহার

mysql> SELECT * FROM DemoTable777 
WHERE StudentId IN (1, 2) 
   OR StudentName = 'Mike' 
   OR StudentAge = 22;

ফলাফল (সকল রো মিলে যায়):

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
| 1         | Chris       | 23         |
| 2         | Robert      | 21         |
| 3         | Mike        | 19         |
| 4         | Bob         | 22         |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

ব্যাখ্যা

  • StudentId IN (1,2) - আইডি ১ বা ২
  • OR StudentName = 'Mike' - বা নাম 'Mike'
  • OR StudentAge = 22 - বা বয়স ২২
  • যেকোনো একটি শর্ত সত্য হলে রো নির্বাচিত হয়।

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

  • IN() তালিকা ছোট হলে দ্রুত কাজ করে।
  • বড় তালিকার জন্য টেম্পোরারি টেবিল বা JOIN ভালো।
  • ইনডেক্সযুক্ত কলামে IN() ব্যবহার করলে ইনডেক্স ব্যবহার হয়।
  1. MySQL কোয়েরি: ডISTINCT ভ্যালুর আওতা গণনা করে নতুন কলামে প্রদর্শন করা

  2. MySQL-এ নির্দিষ্ট কলামের মানগুচ্ছের আকার বের করা এবং যোগফল দেখানো

  3. MySQL-এ NULL মান উপেক্ষা করে বাকি মান দেখানো

  4. MySQL CONCAT()으로 여러 컬럼 값을 텍스트와 합쳐 단일 컬럼으로 출력하기