Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL RIGHT JOIN คืออะไรและเขียนคำสั่งอย่างไร

ความหมายของ RIGHT JOIN

RIGHT JOIN ทำงานคล้าย LEFT JOIN แต่กลับด้าน: คืนแถวทั้งหมดจากตารางขวา (Right table) ส่วนตารางซ้ายที่ไม่มีค่าจับคู่จะเป็น NULL

ข้อมูลตัวอย่าง

mysql> SELECT * FROM tbl_1;
+----+--------+
| Id | Name   |
+----+--------+
| 1  | Gaurav |
| 2  | Rahul  |
| 3  | Raman  |
| 4  | Aarav  |
+----+--------+

mysql> SELECT * FROM tbl_2;
+----+---------+
| Id | Name    |
+----+---------+
| A  | Aarav   |
| B  | Mohan   |
| C  | Jai     |
| D  | Harshit |
+----+---------+

คำสั่ง RIGHT JOIN

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  |
+------+----+

การอธิบาย

  • ทุกแถวของ tbl_2 (ตารางขวา) แสดงผลครบ
  • เฉพาะ 'Aarav' ที่มีในทั้งสองตาราง จึงมีค่า id จาก tbl_1
  • Mohan, Jai, Harshit ไม่มีใน tbl_1 จึงแสดง NULL

Syntax

SELECT columns
FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;