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

उस तालिका से पंक्तियों का चयन करें जहाँ समान आईडी वाली किसी अन्य तालिका में पंक्ति का दूसरे कॉलम में एक विशेष मान हो

मैं वास्तव में इसके लिए जॉइन की अनुशंसा नहीं करता - या यों कहें, मैं एक "semijoin की अनुशंसा करता हूं ", जो एक रिलेशनल-बीजगणित अवधारणा है जिसे सीधे SQL में व्यक्त नहीं किया जाता है। एक सेमीजॉइन अनिवार्य रूप से एक जॉइन है जहां आप केवल एक टेबल से रिकॉर्ड पुनर्प्राप्त करना चाहते हैं, लेकिन इस प्रावधान के साथ कि उनके पास एक अलग तालिका में संबंधित रिकॉर्ड हैं।

SQL संकेतन में, इस अवधारणा को अप्रत्यक्ष रूप से एक IN खंड , एक सबक्वेरी के साथ :

SELECT key, value
  FROM comments
 WHERE key IN
        ( SELECT comment_key
            FROM meta
           WHERE value = 1
        )
;

(MySQL वास्तव में आंतरिक रूप से एक सेमीजॉइन में अनुवाद करना समाप्त कर देगा - अनिवार्य रूप से एक प्रकार का पतित आंतरिक-जुड़ना - लेकिन IN क्लॉज इसे रॉ एसक्यूएल में व्यक्त करने का स्वाभाविक तरीका है।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अगला ऑटो वेतन वृद्धि प्राप्त करें

  2. संबंधपरक डेटाबेस में ऑब्जेक्ट-ओरिएंटेड जैसी संरचनाएं

  3. डॉकर MYSQL '[2002] कनेक्शन अस्वीकृत'

  4. इस जटिल EAV MYSQL क्वेरी को कैसे अनुकूलित करें?

  5. जॉइन फील्ड में अल्पविराम से अलग-अलग सूची का उपयोग करके दो तालिकाओं में कैसे शामिल हों