क्रॉस जॉइन दो तालिकाओं के बीच एक पूर्ण कार्टेशियन उत्पाद करने के लिए SQL ऑपरेटर है। चूंकि यह एक कार्टेशियन उत्पाद है, इसलिए यह ऑपरेशन के दौरान . किसी भी शर्त की अनुमति नहीं देता है , आप इसके परिणाम को केवल कुछ फ़िल्टरिंग ऑपरेशन (WHERE शर्त) के साथ सीमित कर सकते हैं।
जॉइन (INNER और OUTER JOIN, यानी) ऑपरेटर, ऑपरेटर के ON भाग में व्यक्त फ़िल्टरिंग ऑपरेटर के साथ बस कार्टेशियन उत्पाद हैं (और वास्तव में SQL के मूल सिंटैक्स में कोई JOIN ऑपरेटर नहीं था, बस "अल्पविराम" शामिल होने की शर्त के साथ उत्पाद को हमेशा WHERE भाग में व्यक्त करने के लिए संकेतन)।
उदाहरण:
"पुराना" संकेतन:
SELECT ...
FROM table1 t1, table2 t2
WHERE t1.attribute = t2.attribute
"आधुनिक" संकेतन के बराबर:
SELECT ...
FROM table1 t1 INNER JOIN table2 t2 ON t1.attribute = t2.attribute
जबकि, कार्तीय उत्पाद के लिए:
"पुराना" संकेतन:
SELECT ...
FROM table1 t1, table2 t2
"आधुनिक" संकेतन के बराबर:
SELECT ...
FROM table1 t1 CROSS JOIN table2 t2
दूसरे शब्दों में, एक क्रॉस जॉइन जिसके लिए एक शर्त की आवश्यकता होती है, वह वास्तव में किसी प्रकार का इनर जॉइन होता है।