WHERE क्लॉज में एकाधिक शर्तें (AND)
एक से अधिक कॉलम्स पर शर्तें लागू करने के लिए WHERE क्लॉज में AND ऑपरेटर का उपयोग करें। सभी शर्तें पूरी होनी चाहिए।
उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना
mysql> CREATE TABLE DemoTable819(
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(100)
);
Query OK, 0 rows affected (0.88 sec)
रिकॉर्ड्स इन्सर्ट करना
mysql> INSERT INTO DemoTable819(StudentName) VALUES
('Chris'),('Robert'),('Adam'),('Mike'),('Sam');
Query OK, 5 rows affected (...)
सभी रिकॉर्ड्स देखना
mysql> SELECT * FROM DemoTable819;
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 1 | Chris | | 2 | Robert | | 3 | Adam | | 4 | Mike | | 5 | Sam | +-----------+-------------+ 5 rows in set (0.00 sec)
नाम और ID दोनों पर शर्त के साथ क्वेरी
mysql> SELECT * FROM DemoTable819
WHERE StudentName = 'Robert' AND StudentId > 1;
परिणाम
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 2 | Robert | +-----------+-------------+ 1 row in set (0.00 sec)
क्वेरी व्याख्या
StudentName = 'Robert'- नाम 'Robert' होना चाहिएStudentId > 1- ID 1 से बड़ा होना चाहिएAND- दोनों शर्तें सत्य होनी चाहिए
संबंधित ऑपरेटर्स
| ऑपरेटर | उद्देश्य | उदाहरण |
|---|---|---|
AND | सभी शर्तें सत्य हों | Age > 18 AND Status = 'Active' |
OR | कम से कम एक शर्त सत्य हो | City = 'Delhi' OR City = 'Mumbai' |
NOT | शर्त असत्य हो | NOT (Age < 18) |
IN | मान सूची में हो | Id IN (1,2,3) |
BETWEEN | रेंज में हो | Age BETWEEN 18 AND 65 |
LIKE | पैटर्न मिलान | Name LIKE 'R%' |
IS NULL | NULL मान जांच | Email IS NULL |
जटिल शर्तें: कोष्ठक का उपयोग
SELECT * FROM DemoTable819 WHERE (StudentName = 'Robert' OR StudentName = 'Chris') AND StudentId > 1;
संक्षिप्त सिंटैक्स: एकाधिक मान
-- नाम के लिए IN
WHERE StudentName IN ('Robert', 'Chris') AND StudentId > 1
-- रेंज के लिए BETWEEN
WHERE StudentId BETWEEN 2 AND 4 AND StudentName LIKE 'R%'
प्रदर्शन टिप
- WHERE क्लॉज में उपयोग किए जाने वाले कॉलम्स पर इंडेक्स बनाएं
- सबसे सेलेक्टिव (सबसे कम मिलान वाली) शर्त पहले रखें
EXPLAINका उपयोग करके क्वेरी प्लान जांचें