কম্পিউটার

কিভাবে আমরা মাইএসকিউএল ক্রস যোগদান এবং অভ্যন্তরীণ যোগদানের মধ্যে পার্থক্য করতে পারি?


আমরা মাইএসকিউএল ক্রস যোগদান এবং অভ্যন্তরীণ যোগদানের মধ্যে পার্থক্য করতে পারি শুধুমাত্র যোগ-প্রেডিকেটের ভিত্তিতে অর্থাৎ নির্দিষ্ট শর্তের ভিত্তিতে৷ 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)

  1. আমি কিভাবে আমার ব্যবহারকারীদের শতকরা শতাংশ খুঁজে পেতে পারি যাদের জন্ম তারিখ 1980 এবং 1996 এর মধ্যে MySQL এ?

  2. কিভাবে টেবিল যোগদান এবং একটি MySQL ডাটাবেস থেকে মান আনয়ন?

  3. এসকিউএল-এ অভ্যন্তরীণ যোগদান এবং বাইরের যোগদানের মধ্যে পার্থক্য

  4. আপনি কিভাবে Python এ MySQL ব্যবহার করে দুটি টেবিলে অভ্যন্তরীণ যোগদান করতে পারেন?