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

हम WHERE क्लॉज वाले MySQL INTERSECT क्वेरी का अनुकरण कैसे कर सकते हैं?


चूंकि हम 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)

  1. MySQL इंसर्ट स्टेटमेंट में एक क्लॉज कैसे जोड़ें?

    इसके लिए आपको UPDATE स्टेटमेंट का उपयोग करना होगा। वाक्य रचना इस प्रकार है अपनाTableNameset yourColumnName1=yourValue1,yourColumnName2=yourValue2,....अपना स्थिति कहीं भी अपडेट करें; आइए अपने उदाहरण के लिए एक टेबल बनाएं ); क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.45 सेकंड) इंसर्ट कमांड का उपयोग करके ट

  1. क्या हम MySQL WHERE क्लॉज में SUM () फ़ंक्शन के परिणाम का उपयोग कर सकते हैं?

    हम MySQL में WHERE के बजाय HAVING क्लॉज का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(50), Price int);query OK, 0 Rows प्रभावित (0.79 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (डेविड, 5); क्वेरी ठीक है, 1 पंक्ति प्रभ

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

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