MySQL-এ একই SELECT কোয়েরিতে WHERE, AND এবং OR লজিক্যাল অপারেটর একসাথে ব্যবহার করা যায়। অপারেটর প্রিয়োরিটি মনে রাখতে হয় (AND-র প্রিয়োরিটি OR-এর চেয়ে বেশি)।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (
StudentId INT, StudentFirstName VARCHAR(20), StudentLastName VARCHAR(20), StudentAge INT
);
mysql> INSERT INTO DemoTable VALUES (100,'John','Smith',23), (101,'Carol','Taylor',24), (103,'John','Doe',22), (104,'Adam','Smith',23);
সকল ডেটা
+-----------+------------------+-----------------+------------+ | StudentId | StudentFirstName | StudentLastName | StudentAge | +-----------+------------------+-----------------+------------+ | 100 | John | Smith | 23 | | 101 | Carol | Taylor | 24 | | 103 | John | Doe | 22 | | 104 | Adam | Smith | 23 | +-----------+------------------+-----------------+------------+
WHERE, AND, OR একসাথে ব্যবহার
mysql> SELECT * FROM DemoTable
WHERE StudentFirstName = 'John' AND StudentLastName = 'Doe' OR StudentAge = 26;
ফলাফল
+-----------+------------------+-----------------+------------+ | StudentId | StudentFirstName | StudentLastName | StudentAge | +-----------+------------------+-----------------+------------+ | 103 | John | Doe | 22 | +-----------+------------------+-----------------+------------+
ব্যাখ্যা: AND আগে রান হয় (John AND Doe), তারপর OR (Age=26)। যেহেতু Age=26 কোনো রোয়ে নেই, শুধু John Doe মেলে। বড়括 বা পরেন্থেসিস ব্যবহার করে লজিক স্পষ্ট করা ভালো: WHERE (StudentFirstName='John' AND StudentLastName='Doe') OR StudentAge=26।