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

एसक्यूएल - या ऑपरेटर (MySQL) के साथ बाएं शामिल हों

संपादित करें

वास्तव में सुनिश्चित नहीं है कि आपको क्या चाहिए

  • क्या आप कुछ अपेक्षित परिणाम दिखा सकते हैं
  • क्या आप हमें बता सकते हैं कि "प्रदर्शन के मामले में इसे मारता है" से आपका क्या मतलब है (क्या यह निष्पादन समय के 20 सेकंड तक जाता है?)

मुझे विश्वास नहीं है कि यह अधिक कुशल है लेकिन इसे आजमाएं।

select 
    *
from
    tableA as a
    left join tableB as b1
        on a.id=b1.id1 
        and b1.col2='Red'
    left join tableB as b2
        on a.id=b2.id2 
        and b2.col2='Blue'
where 
    (b1.id1 is not null or b2.id2 is not null)
    or (b1.id1 is null and b2.id2 is null)

आपको परिणाम को SELECT . में मैनेज करना होगा CASE WHEN . के साथ ...

आप प्रदर्शन की तुलना कर सकते हैं और अनुक्रमित कॉलम पर अनुक्रमणिका डाल सकते हैं (आपके पास पूर्ण तालिका और क्वेरी में क्या है पर निर्भर करता है लेकिन यहां यह id, id1 and col2 होना चाहिए। )



  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 BLOB बनाम फ़ाइल?

  2. समस्या निवारण:MySQL/MariaDB त्रुटि #1044 और #1045 उपयोगकर्ता के लिए एक्सेस अस्वीकृत

  3. सी # मैसकल एक्ज़िक्यूटनक्वेरीसिंक एसिंक्रोनस नहीं है

  4. SQL में वाक्य खोजने के लिए फ़ज़ी लुकअप का उपयोग कैसे करें?

  5. कोडनिर्देशक कार्ट - डेटाबेस में डेटा सहेजना - कैसे संपर्क करें?