কম্পিউটার

ডান যোগদান বা বাম যোগদানের জন্য ক্যোয়ারী লেখার সময় যদি আমি 'right' বা 'LEFT' কীওয়ার্ড ব্যবহার না করি তাহলে MySQL কী রিটার্ন করবে?


উভয় ক্ষেত্রেই, যেমন ক্যোয়ারীতে ‘ডান’ বা ‘বাম’ কীওয়ার্ড ব্যবহার না করার ক্ষেত্রে, MySQL এটিকে INNER 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)

এখন, RIGHT কীওয়ার্ড দিয়ে RIGHT Join-এর জন্য ক্যোয়ারী নিম্নরূপ হতে পারে -

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 RIGHT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+------+----+
| id   | id |
+------+----+
| 4    | A  |
| NULL | B  |
| NULL | C  |
| NULL | D  |
+------+----+
4 rows in set (0.00 sec)

এখন, নিম্নলিখিত ক্যোয়ারীতে আমরা RIGHT কীওয়ার্ড ব্যবহার করছি না -

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)

উপরের ফলাফলের সেট থেকে, আমরা পার্থক্যটি লক্ষ্য করতে পারি যে কীওয়ার্ড 'RIGHT' ব্যবহার না করেই, MySQL এটিকে INNER JOIN-এর জন্য একটি ক্যোয়ারী হিসেবে নেয় এবং সেই অনুযায়ী ফলাফল ফেরত দেয়।

এখন, LEFT কীওয়ার্ড দিয়ে বাম যোগদানের জন্য প্রশ্নটি নিম্নরূপ হতে পারে -

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+------+
| id | id   |
+----+------+
| 1  | NULL |
| 2  | NULL |
| 3  | NULL |
| 4  | A    |
+----+------+
4 rows in set (0.02 sec)

এখন, নিম্নলিখিত ক্যোয়ারীতে আমরা LEFT −

কীওয়ার্ড ব্যবহার করছি না
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)

উপরের ফলাফল সেট থেকে, আমরা পার্থক্য লক্ষ্য করতে পারি যে 'LEFT' কীওয়ার্ড ব্যবহার না করে, MySQL এটিকে INNER JOIN-এর জন্য ক্যোয়ারী হিসেবে নেয় এবং সেই অনুযায়ী ফলাফল ফেরত দেয়।


  1. 'OPTION SQL_SELECT_LIMIT=10' এর কাছাকাছি ব্যবহার করার জন্য সঠিক সিনট্যাক্সের জন্য MySQL সার্ভার সংস্করণ?

  2. একটি MySQL ক্যোয়ারীতে ইনপুট প্যারামিটারের (ভেরিয়েবল) সিনট্যাক্স কি?

  3. একটি MySQL টেবিল তৈরি করার সময় সংরক্ষিত কীওয়ার্ড 'কী' ব্যবহার করুন

  4. মাইএসকিউএল টেবিলে না থাকা মানগুলির জন্য ডাটাবেস জিজ্ঞাসা করুন?