Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL लेफ्ट जॉइन डुप्लीकेट परिणाम

नहीं, यह ठीक है। यह दुर्लभ मामलों में से एक है जब आप DISTINCT . का उपयोग करना चाहते हैं डुप्लीकेट हटाने के लिए मुख्य शब्द।

इस मामले में यह इस तथ्य से उचित है कि क्वेरी का तर्क सही है, भले ही यह एक से अधिक पंक्तियाँ लौटाता हो। कई बार कोई DISTINCT . का उपयोग देख सकता है जब वास्तव में क्वेरी का तर्क गलत है।

साइड-नोट:

  • तालिका संदर्भ पर कोई भी फ़िल्टर जिसका उपयोग आप WHERE . में कर रहे हैं IS NULL/IS NOT NULL . के अलावा अन्य क्लॉज कोई भी LEFT JOIN इसी तालिका संदर्भ पर INNER JOIN . की ओर मुड़ें , अंतिम परिणामसेट व्यवहार के लिए। (इसे देखें:https://stackoverflow.com/a/15483895/1291428 )
  • आपको GROUP BY . का उपयोग नहीं करना चाहिए DISTINCT . के प्रभाव का अनुकरण करने के लिए , 2 कारणों से:

    1/यह सिर्फ उद्देश्य नहीं है। GROUP BY . के प्रभावों में से एक डुप्लिकेट को खत्म करना है, लेकिन इसका मुख्य उद्देश्य पंक्तियों को एक निश्चित मानदंड के अनुसार समूहित करना है, ताकि उन पर कुछ विश्लेषणात्मक गणना/संचालन लागू किया जा सके।

    2/ GROUP BY साथ ही ORDER BY परिणाम (mysql में), जो जरूरी नहीं कि आप क्या चाहते हैं और उस स्थिति में निष्पादन को धीमा कर देता है। कृपया, इंजन जो प्रदान कर रहे हैं उसका उचित उपयोग सुनिश्चित करें, जो आगे की संगतता के दृष्टिकोण से हमेशा बेहतर होता है। (यह अनुमान लगाते हुए कि आप जो प्रदान करते हैं वह वास्तव में नहीं है)

सादर।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक सेलेक्ट स्टेटमेंट की दो पंक्तियों के बीच MySQL अंतर

  2. क्या क्रॉस टेबल अखंडता बाधाओं के लिए डेटाबेस ट्रिगर सुरक्षित हैं?

  3. MySQL ACOS () फ़ंक्शन - किसी संख्या का आर्क कोसाइन लौटाएं

  4. मायएसक्यूएल लाइक + पीएचपी स्प्रिंटफ

  5. MySQL डेटाबेस को संस्करण नियंत्रण में रखें?