क्या MySQL में दो WHERE क्लॉज जैसे "WHERE condition1 AND condition2" उपयोग कर सकते हैं?
MySQL में AND/OR ऑपरेटर का उपयोग करके एकाधिक शर्तें
हाँ, MySQL में आप AND या OR ऑपरेटर का उपयोग करके एक ही WHERE क्लॉज में एकाधिक शर्तें जोड़ सकते हैं।
सिंटैक्स
SELECT * FROM yourTableName
WHERE yourColumnName1 = value1 AND yourColumnName2 = value2;
उदाहरण
टेबल बनाएं:
mysql> create table WhereDemo (
-> Id int,
-> Name varchar(20)
-> );
डेटा डालें:
mysql> insert into WhereDemo values(101, 'Maxwell');
mysql> insert into WhereDemo values(110, 'David');
mysql> insert into WhereDemo values(1000, 'Carol');
mysql> insert into WhereDemo values(1100, 'Bob');
mysql> insert into WhereDemo values(115, 'Sam');
दोनों शर्तें पूरी करने वाली पंक्ति:
mysql> select * from WhereDemo where Id = 1100 AND Name = 'Bob';
परिणाम:
+------+------+
| Id | Name |
+------+------+
| 1100 | Bob |
+------+------+
AND बनाम OR
ऑपरेटर
व्यवहार
उदाहरण
AND
सभी शर्तें सत्य होनी चाहिए
Id=1100 AND Name='Bob'
OR
कोई एक शर्त सत्य हो
Id=1100 OR Name='Bob'
जटिल शर्तें
-- कोष्ठक का उपयोग करें
WHERE (Id = 101 OR Id = 110) AND Name != 'Carol'
-- IN के साथ
WHERE Id IN (101, 110, 115) AND Name LIKE 'D%'
-- BETWEEN के साथ
WHERE Id BETWEEN 100 AND 1200 AND Name IS NOT NULL
प्रदर्शन टिप
सबसे चयनात्मक (सबसे कम पंक्तियाँ लौटाने वाली) शर्त पहले रखें
MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं।
उदाहरण
1. लक्ष्य टेबल बनाएं
);
2. स्रोत टेबल बनाएं
INSERT INTO DemoTable2 VALUES(Chris);
3. एक क्वेरी में चयन और सम्मिलन
SELECT Name, 98
MySQL में विशिष्ट (DISTINCT) मानों के आधार पर औसत निकालने के लिए, सबक्वेरी में DISTINCT का उपयोग करके डुप्लिकेट हटाएं, फिर बाहरी क्वेरी में AVG() लागू करें।
उदाहरण: विशिष्ट छात्र-मान संयोजनों का औसत
डेमो टेबल बनाएं:
mysql> CREATE TABLE DemoTable1934 (
StudentName VARCHAR(20),
StudentMa