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

MySQL-এ LIMIT সহ একাধিক WHERE ক্লজ ব্যবহার

MySQL-এ একাধিক WHERE শর্তের সাথে LIMIT ব্যবহার করার জন্য UNION ALL অপারেটর ব্যবহার করা যেতে পারে। নিচে ধাপে ধাপে উদাহরণ দেওয়া হলো:

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

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Subject VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.64 sec)
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');
mysql> INSERT INTO DemoTable(Subject) VALUES('MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');
mysql> INSERT INTO DemoTable(Subject) VALUES('Java');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');
mysql> INSERT INTO DemoTable(Subject) VALUES('MongoDB');

সব রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট

+----+---------+
| Id | Subject |
+----+---------+
| 1  | MySQL   |
| 2  | MySQL   |
| 3  | MongoDB |
| 4  | MongoDB |
| 5  | MySQL   |
| 6  | Java    |
| 7  | MySQL   |
| 8  | MongoDB |
+----+---------+
8 rows in set (0.00 sec)

UNION ALL সহ LIMIT ব্যবহার

নিচের কোয়েরি ব্যবহার করে 'MySQL' সাবজেক্টের ৩টি এবং 'MongoDB' সাবজেক্টের ৫টি রেকর্ড বের করা যায়:

mysql> (SELECT * FROM DemoTable WHERE Subject='MySQL' LIMIT 3)
    -> UNION ALL
    -> (SELECT * FROM DemoTable WHERE Subject='MongoDB' LIMIT 5);

আউটপুট

+----+---------+
| Id | Subject |
+----+---------+
| 1  | MySQL   |
| 2  | MySQL   |
| 5  | MySQL   |
| 3  | MongoDB |
| 4  | MongoDB |
| 8  | MongoDB |
+----+---------+
6 rows in set (0.00 sec)

ব্যাখ্যা: প্রথম সাব-কোয়েরি 'MySQL' বিষয়ে ৩টি রো বের করে, দ্বিতীয়টি 'MongoDB' বিষয়ে ৫টি রো বের করে। UNION ALL ব্যবহার করলে ডুপ্লিকেট রো সরানো হয় না, যা পারফরম্যান্সের জন্য ভালো।

  1. MySQL VIEW-এ WHERE ক্লজ ব্যবহার করা

  2. MySQL স্টোরড প্রসিডিউরে WHERE IN() ব্যবহার করা

  3. MySQL-এ WHERE ক্লজে একাধিক শর্ত দিয়ে আপডেট করা

  4. MySQL-এ একাধিক LIKE অপারেটর ORDER BY-এ ব্যবহার করা