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

MySQL MINUS क्वेरी को अनुकरण करने के लिए MySQL LEFT JOIN का उपयोग कैसे किया जा सकता है?


चूंकि हम MySQL में MINUS क्वेरी का उपयोग नहीं कर सकते हैं, हम MINUS क्वेरी का अनुकरण करने के लिए LEFT JOIN का उपयोग करेंगे। इसे निम्न उदाहरण की सहायता से समझा जा सकता है:

उदाहरण

इस उदाहरण में, हम दो टेबल हैं, जिसका नाम है 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)

अब, LEFT JOIN का उपयोग करने वाली निम्न क्वेरी, छात्र_जानकारी में 'studentid' मान वापस करने के लिए MINUS का अनुकरण करेगी, लेकिन Student_detail तालिका में नहीं।

mysql> SELECT studentid from student_info LEFT JOIN Student_detail USING(studentid) WHERE student_detail.studentid IS NULL;
+-----------+
| studentid |
+-----------+
|       165 |
+-----------+
1 row in set (0.07 sec)

अब, निम्न क्वेरी हमें उपरोक्त क्वेरी के विपरीत परिणाम देगी यानी यह 'studentid' मान को student_detail में वापस कर देगी, लेकिन Student_info तालिका में नहीं।

mysql> SELECT studentid from student_detail LEFT JOIN Student_info USING(studentid) WHERE student_info.studentid IS NULL;
+-----------+
| studentid |
+-----------+
|       150 |
|      160  |
+-----------+
2 rows in set (0.00 sec)

  1. मैं MySQL में बूलियन मानों को कैसे अपडेट कर सकता हूं?

    आप UPDATE कमांड का उपयोग करके बूलियन मान को अपडेट कर सकते हैं। यदि आप बूलियन डेटा प्रकार का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे टिनिंट (1) में बदल देता है। यह सही या गलत शाब्दिक हो सकता है जिसमें सत्य 1 से टिनीिंट (1) और असत्य 0 से टिनिंट (1) को इंगित करता है। वाक्य रचना इस प्रकार है - अपना

  1. मैं एक MySQL क्लाइंट द्वारा उपयोग की जाने वाली कनेक्शन विधि कैसे निर्धारित कर सकता हूं?

    MySQL कनेक्शन द्वारा उपयोग की जाने वाली कनेक्शन विधि को निर्धारित करने के लिए, नीचे दिए गए कमांड का उपयोग किया जा सकता है - नेटस्टैट −ln | ग्रेप mysql यूनिक्स पर, MySQL प्रोग्राम होस्ट नाम लोकलहोस्ट को एक विशेष तरीके से मानते हैं। इसलिए, यह अपेक्षा से भिन्न व्यवहार करता है। कनेक्शन का प्रकार mysql

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

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