MySQL-এ একাধিক শর্ত একসাথে প্রয়োগ করার জন্য OR এবং AND অপারেটর ব্যবহার করা হয়। বন্ধনী ব্যবহার করে শর্তের অগ্রতা নিয়ন্ত্রণ করা যায়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(20),
-> Age INT
-> );
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable(Name, Age) VALUES('John', 21);
mysql> INSERT INTO DemoTable(Name, Age) VALUES(NULL, 20);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('David', 23);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Carol', NULL);
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 21 | | 2 | NULL | 20 | | 3 | David | 23 | | 4 | Carol | NULL | +----+-------+------+ 4 rows in set (0.00 sec)
OR এবং AND শর্তযুক্ত কোয়েরি
নিচের কোয়েরি 'David' নামের রো বা NULL নাম এবং ২০ বয়সের রো বের করবে:
mysql> SELECT * FROM DemoTable
-> WHERE Name = 'David' OR (Name IS NULL AND Age = 20);
আউটপুট
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 2 | NULL | 20 | | 3 | David | 23 | +----+-------+------+ 2 rows in set (0.00 sec)
ব্যাখ্যা: AND-এর অগ্রতা OR-এর চেয়ে বেশি, তাই বন্ধনী ব্যবহার করে (Name IS NULL AND Age = 20) গ্রুপ করা হয়েছে। এটি নিশ্চিত করে যে NULL নাম এবং ২০ বয়স — দুটি শর্ত একসাথে পূরণ হলে রো নির্বাচিত হবে।