Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách chuyển đổi subquery thành RIGHT JOIN trong MySQL


Tương tự LEFT JOIN nhưng đổi vị trí bảng.

Ví dụ subquery

Cùng dữ liệu Customers, Reserve. Subquery tìm khách chưa đặt chỗ:

mysql> Select Name from customers 
    where customer_id NOT IN (Select id From reserve);
+----------+
| Name     |
+----------+
| Virender |
+----------+

Chuyển sang RIGHT JOIN

  1. Di chuyển bảng Customers sang FROM, nối với Reserve bằng RIGHT JOIN
  2. So sánh trực tiếp cột customer_id = Id
  3. Lọc Id IS NULL (bảng Reserve không khớp)
mysql> SELECT Name from reserve 
    RIGHT JOIN customers ON customer_id = Id 
    WHERE Id IS NULL;
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

Lưu ý: RIGHT JOIN ít dùng hơn LEFT JOIN (có thể viết lại thành LEFT JOIN bằng cách đổi thứ tự bảng). Kết quả tương đương.