MySQL में INTERSECTION ऑपरेशन को सीधे INTERSECT कीवर्ड से सपोर्ट नहीं किया जाता, लेकिन इसे INNER JOIN का उपयोग करके आसानी से लागू किया जा सकता है। वास्तव में, INTERSECTION बस सभी कॉलम्स पर एक INNER JOIN है।
उदाहरण के साथ समझें
मान लीजिए हमारे पास दो टेबल्स value1 और value2 हैं जिनमें निम्न डेटा है:
mysql> SELECT * FROM value1;
+------+------+
| i | j |
+------+------+
| 1 | 1 |
| 2 | 2 |
+------+------+
mysql> SELECT * FROM value2;
+------+------+
| i | j |
+------+------+
| 1 | 1 |
| 3 | 3 |
+------+------+
अब दोनों टेबल्स के बीच INTERSECTION पाने के लिए निम्न क्वेरी चलाएं:
mysql> SELECT * FROM value1 JOIN value2 USING(i, j);
+------+------+
| i | j |
+------+------+
| 1 | 1 |
+------+------+
व्याख्या: USING(i, j) क्लॉज दोनों टेबल्स के i और j कॉलम्स पर मैच करता है। केवल वही पंक्तियाँ वापस आती हैं जो दोनों टेबल्स में मौजूद हों — यही INTERSECTION है।
मुख्य बिंदु
- MySQL में
INTERSECTकीवर्ड नहीं है (MariaDB 10.3+ में है)। INNER JOIN ... USING(कॉलम_सूची)याONक्लॉज से समान परिणाम मिलता है।- सभी कॉलम्स पर JOIN करना सुनिश्चित करता है कि पूरी पंक्ति मेल खाए।