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

ON सिंटैक्स का हिस्सा है

ANSI SQL-92 . का उपयोग करते समय सिंटैक्स, ON cross join . को छोड़कर कीवर्ड शामिल होने का हिस्सा है चूंकि आपके पास रिश्ते के लिए कोई शर्त नहीं है।

उदा.

आंतरिक शामिल हों

SELECT *
FROM tableA INNER JOIN tableB
       on tableA.ID = tableB.ID

क्रॉस जॉइन करें

SELECT *
FROM tableA CROSS JOIN tableB

ON सम्मिलित तालिका के बाद अनुसरण किया जाना चाहिए (INNER और OUTER . जैसे जुड़ता है ) ताकि आपके पास सिंटैक्स त्रुटि न हो। लेकिन अगर आप ANSI SQL-89 . का उपयोग कर रहे हैं सिंटैक्स, ON कीवर्ड छोड़ दिया गया है लेकिन आपको where clause . पर संबंध निर्दिष्ट करना होगा

उदा.

आंतरिक शामिल हों

SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID

क्रॉस जॉइन करें

SELECT *
FROM tableA, tableB

यह त्रुटि के लिए प्रवण है क्योंकि यदि आप शर्त को भूल जाते हैं, तो यह सिंटैक्स त्रुटि उत्पन्न नहीं करेगा और संभवतः cross join करेगा।



  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. SQL सर्वर 2005 में संकुल अनुक्रमणिका न होने के कारण

  3. डेटाबेस और डेटा की प्रतिलिपि बनाने के लिए SMO का उपयोग करना

  4. तीन कॉलम SQL PIVOT

  5. SQL में पंक्तियों को कॉलम में बदलें