चूंकि हम MySQL में INTERSECT क्वेरी का उपयोग नहीं कर सकते हैं, हम INTERSECT क्वेरी का अनुकरण करने के लिए IN ऑपरेटर का उपयोग करेंगे। इसे निम्न उदाहरण की सहायता से समझा जा सकता है -
उदाहरण
इस उदाहरण में, हम दो टेबल हैं जिनका नाम स्टूडेंट_डिटेल और स्टूडेंट_इन्फो है जिसमें निम्नलिखित डेटा है -
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 से अधिक 'स्टूडेंटिड' मानों को वापस करने के लिए अनुकरण करेगी -
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)