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

एक तालिका से रिकॉर्ड खोजें जो दूसरे में मौजूद नहीं है

ऐसा करने के कई अलग-अलग तरीके हैं, अलग-अलग दक्षता के साथ, यह इस बात पर निर्भर करता है कि आपका क्वेरी ऑप्टिमाइज़र कितना अच्छा है, और आपकी दो तालिकाओं का सापेक्ष आकार:

यह सबसे छोटा कथन है, और यदि आपकी फ़ोन बुक बहुत छोटी है तो यह सबसे तेज़ हो सकती है:

SELECT  *
FROM    Call
WHERE   phone_number NOT IN (SELECT phone_number FROM Phone_book)

वैकल्पिक रूप से (धन्यवाद Alterlife )

SELECT *
FROM   Call
WHERE  NOT EXISTS
  (SELECT *
   FROM   Phone_book
   WHERE  Phone_book.phone_number = Call.phone_number)

या (WOPR के लिए धन्यवाद)

SELECT * 
FROM   Call
LEFT OUTER JOIN Phone_Book
  ON (Call.phone_number = Phone_book.phone_number)
  WHERE Phone_book.phone_number IS NULL

(इसे अनदेखा करते हुए, जैसा कि अन्य ने कहा है, सामान्य रूप से केवल अपने इच्छित कॉलम का चयन करना सबसे अच्छा है, न कि '* ')



  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. एक MySQL डेटाबेस तालिका में रिकॉर्ड की अधिकतम संख्या

  3. मिलीसेकंड सटीकता के साथ टाइमस्टैम्प:उन्हें MySQL में कैसे सहेजना है

  4. MySQL सिंगल कोट्स, डबल कोट्स, बैक कोट्स उपयोग समझाया गया

  5. mysql एक क्रमबद्ध सरणी के भीतर क्वेरी का चयन करें