Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

WHERE क्लॉज वाले MySQL INTERSECT क्वेरी को कैसे सिमुलेट करें?


चूंकि हम MySQL में INTERSECT क्वेरी का उपयोग नहीं कर सकते, हम IN ऑपरेटर का उपयोग करके INTERSECT क्वेरी को सिमुलेट करेंगे। इसे निम्न उदाहरण से समझा जा सकता है -

उदाहरण

इस उदाहरण में, हम दो टेबल Student_detail और Student_info ले रहे हैं जिनमें निम्न डेटा है -

mysql> Select * from Student_detail; 
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|       101 | YashPal | Amritsar   | History    |
|       105 | Gaurav  | Chandigarh | Literature |
|       130 | Ram     | Jhansi     | Computers  |
|       132 | Shyam   | Chandigarh | Economics  |
|       133 | Mohan   | Delhi      | Computers  |
|       150 | Rajesh  | Jaipur     | Yoga       |
|       160 | Pradeep | Kochi      | Hindi      |
+-----------+---------+------------+------------+
7 rows in set (0.00 sec)

mysql> Select * from Student_info; 
+-----------+-----------+------------+-------------+
| studentid | Name      | Address    | Subject     |
+-----------+-----------+------------+-------------+
|       101 | YashPal   | Amritsar   | History     |
|       105 | Gaurav    | Chandigarh | Literature  |
|       130 | Ram       | Jhansi     | Computers   |
|       132 | Shyam     | Chandigarh | Economics   |
|       133 | Mohan     | Delhi      | Computers   |
|       165 | Abhimanyu | Calcutta   | Electronics |
+-----------+-----------+------------+-------------+
6 rows in set (0.00 sec)

अब, WHERE क्लॉज के साथ IN ऑपरेटर का उपयोग करने वाली निम्न क्वेरी INTERSECT को सिमुलेट करेगी ताकि दोनों टेबल में मौजूद 130 से अधिक सभी 'studentid' मान लौटाए जाएं -

mysql> Select Student_detail.studentid FROM Student_detail WHERE student_detail.studentid >130 AND student_detail.studentid IN(SELECT Student_info.studentid FROM Student_info WHERE Student_detail.studentid > 0); 
+-----------+
| studentid |
+-----------+
|       132 |
|       133 |
+-----------+
2 rows in set (0.00 sec)

  1. - MySQL INSERT स्टेटमेंट में WHERE क्लॉज कैसे जोड़ें

    INSERT में WHERE नहीं, UPDATE उपयोग करें INSERT स्टेटमेंट में WHERE क्लॉज नहीं होता

  1. - MySQL में SUM() फंक्शन के परिणाम का WHERE क्लॉज में उपयोग: HAVING क्लॉज का उपयोग करें

    MySQL WHERE vs HAVING: एग्रीगेट फंक्शन के परिणाम पर फ़िल्टर WHERE क्लॉज पंक्तियों को समूहित करने पहले फ़िल्टर करता है, इसलिए इसमें एग्रीगेट फंक्शन (SUM, COUNT, AVG, आदि) उपयोग नहीं कर सकते। एग्रीगेट परिणाम पर फ़िल्टर के लिए HAVING क्लॉज का उपयोग करें। उदाहरण: कुल कीमत 40 से अधिक वाले नाम टेबल बनाएं

  1. Microsoft Access डेटाबेस के साथ MySQL LIMIT क्लॉज का अनुकरण कैसे करें Microsoft Access डेटाबेस के साथ MySQL LIMIT क्लॉज का अनुकरण कैसे करें

    Microsoft Access में TOP का उपयोग करके MySQL LIMIT का अनुकरण Microsoft Access में, आप LIMIT के बजाय TOP का उपयोग कर सकते हैं। पहले टेबल बनाएं: INSERT कमांड का उपयोग करके रिकॉर्ड डालें: Access डेटाबेस के साथ MySQL LIMIT क्लॉज का अनुकरण करने की क्वेरी: Run पर क्लिक करने के बाद, आपको वांछित आउटपुट म