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

हम एकाधिक अभिव्यक्तियों को वापस करने वाली MySQL INTERSECT क्वेरी का अनुकरण कैसे कर सकते हैं?


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

उदाहरण

इस उदाहरण में, हम दो टेबल हैं, जिसका नाम है 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 क्लॉज के साथ EXIST ऑपरेटर का उपयोग करने वाली निम्न क्वेरी 'छात्र', नाम, पता वापस करने के लिए INTERSECT का अनुकरण करेगी जहां नाम 'यशपाल' नहीं है जो दोनों तालिकाओं में मौजूद है -

mysql>Select Student_detail.studentid,Student_detail.name, student_detail.address FROM student_detail WHERE Student_detail.studentid >100 AND EXISTS (SELECT * FROM Student_info WHERE Student_info.Name <> 'Yashpal' AND Student_info.studentid = Student_detail.studentid AND Student_info.name = Student_detail.name);
+-----------+--------+------------+
| studentid | name   | address    |
+-----------+--------+------------+
|       105 | Gaurav | Chandigarh |
|       130 | Ram    | Jhansi     |
|       132 | Shyam  | Chandigarh |
|       133 | Mohan  | Delhi      |
+-----------+--------+------------+
4 rows in set (0.00 sec)

  1. मैं MySQL में एकाधिक तालिकाओं में कॉलम कैसे जोड़ सकता हूं?

    एकाधिक तालिकाओं में स्तंभों का योग करने के लिए, UNION ALL का उपयोग करें। अवधारणा को समझने के लिए, आइए हम पहली तालिका बनाएं। पहली तालिका बनाने की क्वेरी इस प्रकार है );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.50 सेकंड) इंसर्ट कमांड का उपयोग करके पहली तालिका में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

  1. वर्तमान सप्ताह में MySQL को कैसे क्वेरी करें?

    वर्तमान सप्ताह में MySQL को क्वेरी करने के लिए, आप YEARWEEK() फ़ंक्शन का उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है चुनें *अपनेTableName से जहां YEARWEEK(yourDateColumnName) =YEARWEEK(Now()); उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है );क्वेरी

  1. आप MySQL में चुनिंदा क्वेरी द्वारा प्राप्त परिणाम को कैसे ऑर्डर कर सकते हैं?

    किसी तालिका से कुछ डेटा या पंक्तियों का चयन करना आम बात है। पंक्तियों को उसी क्रम में लौटाया जाता है जिसमें वे तालिका में दिखाई देते हैं। हमें कभी-कभी यह आवश्यकता हो सकती है कि तालिका से चुनी गई पंक्तियों को किसी स्तंभ के संबंध में आरोही या अवरोही क्रम में हमें वापस किया जाना चाहिए। कुछ कॉलम के संब