MySQL: LEFT JOIN và RIGHT JOIN

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

1. LEFT JOIN:

LEFT JOIN dùng để lấy dữ liệu liên quan đến hai bảng và lấy thêm những bản ghi nằm ở bảng bên trái kết nối dù những bản ghi này không liên quan đến những bản ghi của bảng nằm bên phải kết nối.

Ví dụ, bảng Student có ba bản ghi lưu trữ ba sinh viên với mã sinh viên là 1, 2 và 3, còn bảng Marks có các bản ghi lưu trữ điểm của các sinh viên có mã 1 và 2. Điều này có nghĩa là sinh viên có mã là 3 không có điểm lưu trữ trong bảng Marks.

Nếu bạn muốn hiển thị tất cả các sinh viên cả có điểm và không có điểm thì ta dùng cú pháp sau:

SELECT Các_cột FROM Bảng_bên_trái Bí_danh1 LEFT JOIN Bảng_bên_phải Bí_danh2 ON Bí_danh1.Cột_chung=Bí_danh2.Cột_chung;

Ví dụ:

SELECT studentname,mark FROM Student a LEFT JOIN Marks b ON a.studentid=b.studentid;

2. RIGHT JOIN:

Ngược với LEFT JOIN, RIGHT JOIN dùng để lấy dữ liệu liên quan đến hai bảng và lấy thêm những bản ghi nằm ở bảng bên phải kết nối dù những bản ghi này không liên quan đến những bản ghi của bảng nằm bên trái kết nối.

Ví dụ, bảng Subjects có ba bản ghi lưu trữ ba môn học với mã tương ứng là là 1, 2 và 3, còn bảng Marks có các bản ghi lưu trữ điểm của các môn học có mã 1 và 2. Điều này có nghĩa là môn học có mã là 3 không có điểm lưu trữ trong bảng Marks.

Nếu bạn muốn hiển thị tất cả các môn học cả có điểm và không có điểm thì ta dùng cú pháp sau:

SELECT Các_cột FROM Bảng_bên_trái Bí_danh1 RIGHT JOIN Bảng_bên_phải Bí_danh2 ON Bí_danh1.Cột_chung=Bí_danh2.Cột_chung;

Ví dụ:

SELECT subjectname,mark FROM Marks a RIGHT JOIN Subjects b ON a.studentid=b.studentid;

 

» Tiếp: CREATE TABLE ... SELECT
« Trước: SELECT với nhiều JOIN
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!