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
करेगा।