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

SQL तालिका में ON और WHERE क्लॉज़ के बीच अंतर जुड़ता है

मुख्य अंतर तब होता है जब आप अलग-अलग जॉइन का उपयोग कर रहे होते हैं।

आम तौर पर आपको वही परिणाम देखना चाहिए यदि आप इनर जॉइन का उपयोग करते हैं, लेकिन एक बार जब आप LEFT जॉइन का उपयोग करना शुरू करते हैं तो परिणाम बदल जाएंगे।

निम्न उदाहरण पर एक नज़र डालें

एसक्यूएल फिडल डेमो

और निम्नलिखित लेख पर एक नज़र डालें (बहुत व्याख्यात्मक)

@ShannonSeverance के लिए संपादित करें

स्कीमा और परीक्षण डेटा

CREATE TABLE Table1 (
  ID INT,
  Val VARCHAR(20)
 );

INSERT INTO Table1 VALUES (1,'a');
INSERT INTO Table1 VALUES (2,'a');

CREATE TABLE Table2 (
  ID INT,
  Val VARCHAR(20)
 );

INSERT INTO Table2 VALUES (1,'a');

और परीक्षण

SELECT t1.ID,
t1.Val,
t2.ID ID2,
t2.Val Val2
FROM Table1 t1 INNER JOIN
Table2 t2 ON t1.ID = t2.ID AND t1.Val = t2.Val;

SELECT  t1.ID,
t1.Val,
t2.ID ID2,
t2.Val Val2
FROM Table1 t1,Table2 t2 
WHERE t1.ID = t2.ID
 AND t1.Val = t2.Val;

SELECT  t1.ID,
t1.Val,
t2.ID ID2,
t2.Val Val2
FROM Table1 t1 LEFT JOIN
Table2 t2 ON t1.ID = t2.ID  AND t1.Val = t2.Val;

SELECT  t1.ID,
t1.Val,
t2.ID ID2,
t2.Val Val2
FROM Table1 t1 LEFT JOIN
Table2 t2 ON t1.ID = t2.ID  
WHERE t1.Val = t2.Val;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में दूसरा सबसे न्यूनतम मान चुनें

  2. Oracle में एंगल ब्रैकेट्स के साथ नेगेटिव नंबर्स को कैसे फॉर्मेट करें?

  3. ऑरैकल में सीमांकित स्ट्रिंग को पंक्तियों में बदलें

  4. Oracle का उपयोग करके PIVOT के साथ तीन तालिकाओं को एक में संयोजित करें

  5. कस्टम ऑरैकल प्रकार ऑब्जेक्ट मैपिंग पास करने का प्रयास करते समय अमान्य नाम पैटर्न