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

MySQL सबक्वेरी को RIGHT JOIN में कैसे बदलें?

NOT IN सबक्वेरी को RIGHT JOIN में भी बदला जा सकता है, टेबल क्रम उल्टा करके।

उदाहरण टेबल्स (पिछले लेख समान):

-- Customers
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+

-- Reserve
+------+------------+
| ID   | Day        |
+------+------------+
| 1    | 2017-12-30 |
| 2    | 2017-12-28 |
| 2    | 2017-12-25 |
| 1    | 2017-12-24 |
| 3    | 2017-12-26 |
+------+------------+

मूल सबक्वेरी - बुकिंग न करने वाले ग्राहक:

mysql> Select Name from customers 
    -> where customer_id NOT IN (Select id From reserve);
+----------+
| Name     |
+----------+
| Virender |
+----------+

RIGHT JOIN में रूपांतरण चरण:

  1. सबक्वेरी की टेबल (Customers) को FROM क्लॉज में लाएं और RIGHT JOIN करें Reserve से
  2. WHERE क्लॉज के IN को दोनों टेबल के ID कॉलम की सीधी तुलना में बदलें
  3. WHERE में Reserve टेबल के कॉलम IS NULL शर्त जोड़ें

परिवर्तित क्वेरी:

mysql> SELECT Name from reserve 
    -> RIGHT JOIN customers ON customer_id = Id 
    -> WHERE Id IS NULL;
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

LEFT JOIN vs RIGHT JOIN:

पहलूLEFT JOINRIGHT JOIN
ड्राइविंग टेबलबाएं (Customers)दाएं (Customers)
संरक्षित टेबलCustomers (सभी पंक्तियां)Customers (सभी पंक्तियां)
पठनीयताअधिक सहज (बाएं से दाएं)कम सहज
मानक अभ्यासपसंदीदाकम उपयोग

सिफारिश: LEFT JOIN उपयोग करें - यह अधिक पठनीय है और SQL समुदाय में मानक एंटी-जॉइन पैटर्न है।

  1. - Python Named Tuple को Dictionary में कैसे बदलें?

    Python Named Tuple को Dictionary में बदलना Namedtuple क्लास collections मॉड्यूल में परिभाषित है। यह एक नया टपल सबक्लास लौटाता है। नया सबक्लास टपल-जैसे ऑब्जेक्ट्स बनाने के लिए उपयोग किया जाता है जिनमें फ़ील्ड्स होते हैं जो एट्रिब्यूट लुकअप द्वारा एक्सेसिबल होते हैं साथ ही इंडेक्सेबल और इटरेबल भी होत

  1. - Python टपल को स्ट्रिंग में कैसे बदलें?

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

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

    पायथन में एक बिल्ट-इन join() फ़ंक्शन होता है जो सीक्वेंस ऑब्जेक्ट में एलिमेंट्स को जोड़कर और उनके बीच सेपरेटर डालकर एक स्ट्रिंग वापस करता है। यदि हमें बिना किसी सेपरेटर के स्ट्रिंग चाहिए, तो हम इसे नल स्ट्रिंग से इनिशियलाइज़ करते हैं। >>> lst = [h, e, l, l, o] >>> str = >>&