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

दो तालिकाओं को मिलाएं, एक ही रिकॉर्ड को बाहर करें

ऐसा लगता है कि आपको FULL OUTER JOIN की आवश्यकता है और सामान्य भाग को बाहर करें। आप इसके साथ अनुकरण कर सकते हैं:

SELECT T1.col_name
FROM T1 
LEFT JOIN T2
  ON T1.col_name = T2.col_name
WHERE T2.col_name IS NULL
UNION
SELECT T2.col_name
FROM T2 
LEFT JOIN T1
  ON T1.col_name = T2.col_name
WHERE T1.col_name IS NULL;

SqlFiddleDemo

╔══════════╗
║ col_name ║
╠══════════╣
║ C        ║
║ D        ║
║ E        ║
║ F        ║
║ G        ║
╚══════════╝

और जानकारी:एसक्यूएल जॉइन का विजुअल रिप्रेजेंटेशन

SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL OR B.Key IS NULL

दुर्भाग्य से MySQL FULL OUTER JOIN का समर्थन नहीं करता है इसलिए मैंने 2 LEFT JOIN . के मिलन का उपयोग किया ।

परिशिष्ट

आप इसे अतिरिक्त स्तंभों के साथ आसानी से विस्तारित कर सकते हैं।

SELECT 'T1' AS tab_name, T1.col_name, T1.col1, NULL AS col2
FROM  T1
LEFT JOIN  T2
  ON T1.col_name=  T2.col_name
WHERE T2.col_name IS NULL
UNION
SELECT 'T2' AS tab_name, T2.col_name, NULL, T2.col2
FROM  T2
LEFT JOIN  T1
  ON T1.col_name=  T2.col_name
WHERE T1.col_name IS NULL;

LiveDemo

आउटपुट:

╔══════════╦══════════╦══════╦═════════════════════╗
║ tab_name ║ col_name ║ col1 ║        col2         ║
╠══════════╬══════════╬══════╬═════════════════════╣
║ T1       ║ C        ║    3 ║                     ║
║ T1       ║ D        ║    4 ║                     ║
║ T2       ║ E        ║      ║ 2016-01-03 00:00:00 ║
║ T2       ║ F        ║      ║ 2016-01-02 00:00:00 ║
║ T2       ║ G        ║      ║ 2016-01-01 00:00:00 ║
╚══════════╩══════════╩══════╩═════════════════════╝


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंड्रॉइड और PHP - PHP का उपयोग करके MySQL से JSONArray कैसे प्रदर्शित करें?

  2. MySQL में दो डेटाबेस स्कीमा को सिंक्रोनाइज़ करें

  3. उबंटू 17:mysqlclient स्थापित नहीं कर सकता

  4. PHP में प्रीफॉर्मेटेड टेक्स्ट के रूप में एक SELECT क्वेरी के परिणाम प्रिंट करें?

  5. उबंटू में MySQL JDBC जार फ़ाइल कहाँ है?