একাধিক AND শর্ত ব্যবহার করার সিনট্যাক্স:
SELECT * FROM yourTableName WHERE col1=val1 AND col2=val2 AND col3=val3;
প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(20),
StudentAge INT,
StudentCountryName VARCHAR(40)
);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable(StudentName,StudentAge,StudentCountryName) VALUES('John',23,'US');
mysql> INSERT INTO DemoTable(StudentName,StudentAge,StudentCountryName) VALUES('Carol',21,'UK');
mysql> INSERT INTO DemoTable(StudentName,StudentAge,StudentCountryName) VALUES('John',21,'US');
mysql> INSERT INTO DemoTable(StudentName,StudentAge,StudentCountryName) VALUES('John',21,'AUS');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-----------+-------------+------------+--------------------+ | StudentId | StudentName | StudentAge | StudentCountryName | +-----------+-------------+------------+--------------------+ | 1 | John | 23 | US | | 2 | Carol | 21 | UK | | 3 | John | 21 | US | | 4 | John | 21 | AUS | +-----------+------------+------------+--------------------+
একাধিক AND শর্ত (Name='John' AND Age=21 AND Country='AUS'):
mysql> SELECT * FROM DemoTable WHERE StudentName="John" AND StudentAge=21 AND StudentCountryName="AUS";
আউটপুট:
+-----------+-------------+------------+--------------------+ | StudentId | StudentName | StudentAge | StudentCountryName | +-----------+-------------+------------+--------------------+ | 4 | John | 21 | AUS | +-----------+------------+------------+--------------------+
ব্যাখ্যা: AND অপারেটর সব শর্ত সত্য হলে সারি ফেরত দেয়। এটি শর্ট-সার্কিট ইভ্যালুয়েশন করে — প্রথম শর্ত মিথ্যা হলে বাকি চেক করে না। ইনডেক্স ব্যবহারের জন্য শর্তগুলোর ক্রম গুরুত্বপূর্ণ হতে পারে।
সেরা অভ্যাস: সিলেক্টিভিটি (selectivity) বেশি শর্তগুলো আগে লিখুন (যেমন প্রাইমারি কি বা ইউনিক কলাম প্রথমে)।