ในทั้งสองกรณี เช่น ไม่ได้ใช้คีย์เวิร์ด 'RIGHT' หรือ 'LEFT' ในเคียวรี MySQL จะส่งคืนผลลัพธ์โดยใช้เป็นคิวรี INNER JOIN เป็นเพราะความแตกต่างเพียงอย่างเดียวระหว่าง RIGHT, LEFT และ INNER JOIN คือคีย์เวิร์ดของ RIGHT หรือ LEFT เพื่อให้เข้าใจ เรากำลังยกตัวอย่างของสองตารางชื่อ 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 JOIN ด้วยคีย์เวิร์ด RIGHT อาจเป็นดังนี้ -
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 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 และส่งคืนผลลัพธ์ตามลำดับ