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

यदि सही तालिका मेल खाती है तो रिकॉर्ड बहिष्कृत करें

आप NOT EXISTS . का उपयोग कर सकते हैं

SELECT a.id, a.name
FROM A
WHERE NOT EXISTS
(
    SELECT 1 FROM B
    WHERE b.A = a.id AND b.cond = 'X'
)

हालांकि, मैं हमेशा यह भूल जाता हूं कि MySql ही एकमात्र (?) rdbms है जिसमें EXISTS को ऑप्टिमाइज़ करने में समस्या होती है। /NOT EXISTS . इसलिए LEFT JOIN . का उपयोग करना थोड़ा अधिक कुशल है दृष्टिकोण।

http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/

MS SQL- सर्वर में NOT EXISTS . का उपयोग करना बेहतर है ।

http://sqlperformance.com/2012/12 /t-sql-queries/बाएं-एंटी-सेमी-जॉइन



  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. MySQL में अनकमिटेड डेटा प्राप्त करें

  3. MySQL के साथ एक चुनिंदा क्वेरी में CASE, WHEN, THEN, END का उपयोग करना

  4. MySQL:MySQL रूट पासवर्ड को कैसे रीसेट या बदलें?

  5. किसी मौजूदा कॉलम में AUTO_INCREMENT कैसे जोड़ें?