আমরা মাইএসকিউএল ক্রস যোগদান এবং অভ্যন্তরীণ যোগদানের মধ্যে পার্থক্য করতে পারি শুধুমাত্র যোগ-প্রেডিকেটের ভিত্তিতে অর্থাৎ নির্দিষ্ট শর্তের ভিত্তিতে৷ INNER JOIN-এর জন্য ক্যোয়ারী লেখার সময় আমাদের শর্ত উল্লেখ করতে হবে কিন্তু বিপরীতে, CROSS JOIN-এর জন্য একটি ক্যোয়ারী লেখার সময় আমাদের শর্ত উল্লেখ করতে হবে না। এটি বোঝার জন্য, আমরা tbl_1 এবং tbl_2 নামের দুটি টেবিলের উদাহরণ নিচ্ছি যেখানে নিম্নলিখিত ডেটা রয়েছে −
mysql> Select * from tbl_1; +----+--------+ | Id | Name | +----+--------+ | 1 | Gaurav | | 2 | Rahul | | 3 | Raman | | 4 | Aarav | +----+--------+ 4 rows in set (0.00 sec) mysql> Select * from tbl_2; +----+---------+ | Id | Name | +----+---------+ | A | Aarav | | B | Mohan | | C | Jai | | D | Harshit | +----+---------+ 4 rows in set (0.00 sec)
এখন, ভিতরের যোগদানের জন্য ক্যোয়ারী নিম্নরূপ হতে পারে -
mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name; +----+----+ | id | id | +----+----+ | 4 | A | +----+----+ 1 row in set (0.00 sec)
এখন, যদি আমরা শর্ত উল্লেখ না করেই উপরের ক্যোয়ারীটি লিখি তাহলে এটি ক্রস জয়েন হয়ে যাবে। শর্ত ছাড়া ক্যোয়ারী নিম্নরূপ -
mysql> Select tbl_1.id, tbl_2.id FROM tbl_1 JOIN tbl_2; +----+----+ | id | id | +----+----+ | 1 | A | | 2 | A | | 3 | A | | 4 | A | | 1 | B | | 2 | B | | 3 | B | | 4 | B | | 1 | C | | 2 | C | | 3 | C | | 4 | C | | 1 | D | | 2 | D | | 3 | D | | 4 | D | +----+----+ 16 rows in set (0.00 sec)