যেকোনো একটি কলাম নির্দিষ্ট মান থেকে মিললে সারি নির্বাচন করতে একাধিক OR ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(10),
LastName VARCHAR(10),
Age INT,
CountryName VARCHAR(10)
);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable(FirstName,LastName,Age,CountryName) VALUES('John','Smith',21,'US');
mysql> INSERT INTO DemoTable(FirstName,LastName,Age,CountryName) VALUES('Carol','Taylor',22,'AUS');
mysql> INSERT INTO DemoTable(FirstName,LastName,Age,CountryName) VALUES('David','Miller',19,'UK');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----+-----------+----------+------+-------------+ | Id | FirstName | LastName | Age | CountryName | +----+-----------+----------+------+-------------+ | 1 | John | Smith | 21 | US | | 2 | Carol | Taylor | 22 | AUS | | 3 | David | Miller | 19 | UK | +----+-----------+----------+------+-------------+
FirstName='Carol' OR Age=22 OR CountryName='AUS' — যেকোনো একটি সত্য হলে সারি নির্বাচন:
mysql> SELECT * FROM DemoTable WHERE FirstName="Carol" OR Age=22 OR CountryName="AUS";
আউটপুট:
+----+-----------+----------+------+-------------+ | Id | FirstName | LastName | Age | CountryName | +----+-----------+----------+------+-------------+ | 2 | Carol | Taylor | 22 | AUS | +----+-----------+----------+------+-------------+
ব্যাখ্যা: OR অপারেটর যেকোনো একটি শর্ত সত্য হলে সারি ফেরত দেয়। এখানে সারি ২ তিনটি শর্তের জন্যও মেলে।
IN() দিয়ে বিকল্প (যদি একই কলামে একাধিক মান চেক করতে হয়): WHERE CountryName IN('US','AUS','UK')। কিন্তু ভিন্ন কলামের জন্য ORই একমাত্র উপায়।
সতর্কতা: OR শর্তগুলো ইনডেক্স ব্যবহার বাধা দিতে পারে। বড় টেবিলে আলাদা আলাদা কোয়েরি রান করে UNION করলে ভালো পারফরম্যান্স দেয়।