MySQL में दो टेबल के बीच कॉमा (`,`) का उपयोग करना CROSS JOIN के समान है: यह कार्टेशियन गुणनफल (प्रत्येक पंक्ति × प्रत्येक पंक्ति) उत्पन्न करता है।
सिंटैक्स
-- कॉमा सिंटैक्स (पुराना) SELECT * FROM table1, table2; -- स्पष्ट CROSS JOIN (अनुशंसित) SELECT * FROM table1 CROSS JOIN table2;
टेबल बनाएं
mysql> CREATE TABLE DemoTable1882 (Id INT); mysql> CREATE TABLE DemoTable1883 (Id INT);
डेटा डालें
mysql> INSERT INTO DemoTable1882 VALUES(10), (20), (30); mysql> INSERT INTO DemoTable1883 VALUES(100), (101), (102);
कॉमा जॉइन (कार्टेशियन गुणनफल)
mysql> SELECT * FROM DemoTable1882, DemoTable1883;
आउटपुट (9 पंक्तियाँ = 3 × 3):
+------+------+ | Id | Id | +------+------+ | 10 | 100 | | 20 | 100 | | 30 | 100 | | 10 | 101 | | 20 | 101 | | 30 | 101 | | 10 | 102 | | 20 | 102 | | 30 | 102 | +------+------+
CROSS JOIN (समान परिणाम)
mysql> SELECT * FROM DemoTable1882 CROSS JOIN DemoTable1883;
कब उपयोग करें
- सभी संयोजन उत्पन्न करना (रिपोर्ट मैट्रिक्स, टेस्ट डेटा)।
- छोटी टेबल (कॉन्फिग, लुकअप) के साथ बड़ी टेबल जोड़ना।
सावधानी
- बड़ी टेबल पर कार्टेशियन गुणनफल भारी होता है (N × M पंक्तियाँ)।
- आमतौर पर
INNER JOIN ... ON conditionउपयोग करें। - कॉमा जॉइन में
WHEREसे फ़िल्टर करनाINNER JOINके समान है।
कॉमा जॉइन + WHERE = INNER JOIN
SELECT * FROM t1, t2 WHERE t1.id = t2.id; -- समतुल्य SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id;