आप 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/बाएं-एंटी-सेमी-जॉइन