MySQL: LEFT JOIN và RIGHT JOIN


Khóa học qua video:
Python C# Lập trình C Java SQL Server PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

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
Khóa học qua video:
Python C# Lập trình C Java SQL Server PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!