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

हम सबक्वेरी को लेफ्ट जॉइन में कैसे बदल सकते हैं?


इसे समझने के लिए हम निम्नलिखित तालिकाओं के डेटा का उपयोग कर रहे हैं -

mysql> Select * from customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+
4 rows in set (0.00 sec)

mysql> Select * from reserve;
+------+------------+
| ID   | Day        |
+------+------------+
| 1    | 2017-12-30 |
| 2    | 2017-12-28 |
| 2    | 2017-12-25 |
| 1    | 2017-12-24 |
| 3    | 2017-12-26 |
+------+------------+
5 rows in set (0.00 sec)

अब, निम्नलिखित एक सबक्वायरी है जिसमें उन सभी ग्राहकों के नाम मिलेंगे, जिन्होंने कोई कार आरक्षित नहीं की है।

mysql> Select Name from customers where customer_id NOT IN (Select id From reserve);
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

अब, निम्नलिखित चरणों की सहायता से, हम उपरोक्त सबक्वेरी को राइट जॉइन में बदल सकते हैं -

  • उपश्रेणी में नामित 'रिजर्व' तालिका को FROM क्लॉज में ले जाएं और LEFT JOIN का उपयोग करके इसे 'ग्राहकों' से जोड़ें।
  • WHERE क्लॉज ग्राहक_आईडी कॉलम की तुलना सबक्वेरी से लौटाए गए आईडी से करता है। इसलिए आईएन एक्सप्रेशन को FROM क्लॉज में दो तालिकाओं के आईडी कॉलम के बीच एक स्पष्ट प्रत्यक्ष तुलना में परिवर्तित करें।
  • WHERE क्लॉज में, आउटपुट को 'रिजर्व' टेबल में NULL वाली पंक्तियों तक सीमित रखें।
mysql> SELECT Name from customers LEFT JOIN reserve ON customer_id = Id WHERE Id IS NULL;
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

  1. मैं एक पायथन नामित टुपल को एक शब्दकोश में कैसे परिवर्तित कर सकता हूं?

    Namedtuple वर्ग को संग्रह मॉड्यूल में परिभाषित किया गया है। यह एक नया टपल उपवर्ग देता है। नए उपवर्ग का उपयोग टपल जैसी वस्तुओं को बनाने के लिए किया जाता है, जिनमें विशेषता लुकअप के साथ-साथ अनुक्रमणीय और चलने योग्य फ़ील्ड होते हैं। कंस्ट्रक्टर तर्क के रूप में नाम और फ़ील्ड सूची टाइप करता है। उदाहरण के

  1. मैं एक पायथन टुपल को स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?

    स्ट्रिंग ऑब्जेक्ट्स के टपल को एक स्ट्रिंग में बदलने के लिए, आप join() फ़ंक्शन का उपयोग कर सकते हैं। सुनिश्चित करें कि ट्रगेट स्ट्रिंग को अशक्त स्ट्रिंग में प्रारंभ किया गया है >>> T1=1,2,3 >>> s=.join(T1) >>> s 123

  1. हम पायथन में वर्णों की सूची को एक स्ट्रिंग में कैसे बदल सकते हैं?

    पायथन में एक इन-बिल्ट जॉइन () फ़ंक्शन है जो तत्वों के बीच विभाजक को सम्मिलित करके अनुक्रम ऑब्जेक्ट में तत्वों को जोड़कर एक स्ट्रिंग देता है। यदि हमें बिना किसी विभाजक के एक स्ट्रिंग की आवश्यकता है, तो हम इसे नल स्ट्रिंग के साथ प्रारंभ करते हैं >>> lst=['h','e','l',&#