SQL Server: 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

Câu lệnh SELECT với nhiều JOIN dùng để lấy dữ liệu từ ba bảng dữ liệu có liên quan hoặc liên kết với nhau trở lên.

Ví dụ bảng Student chứa thông tin sinh viên, bảng Marks chứa điểm sinh viên và bảng Subjects chứa môn học, thì nếu muốn biết các sinh viên có điểm số của mỗi môn học như thế nào ta cần sử dụng nhiều JOIN trong câu lệnh SELECT.

Cú pháp:

- Lấy tất cả các cột của các bảng

SELECT * FROM Bảng1 Bí_danh1 JOIN Bảng2 Bí_danh2 ON Bí_danh1.Cột_chung=Bí_danh2.Cột_chung JOIN Bảng3 Bí_danh3 ON Bí_danh2.Cột_chung1=Bí_danh3.Cột_chung1;

Ví dụ:

SELECT * FROM Student a JOIN Marks b ON a.studentid=b.studentid JOIN Subjects c ON b.subjectid=c.subjectid;


- Lấy một số cột từ các bảng

SELECT Các_cột FROM Bảng1 Bí_danh1 JOIN Bảng2 Bí_danh2 ON Bí_danh1.Cột_chung=Bí_danh2.Cột_chung JOIN Bảng3 Bí_danh3 ON Bí_danh2.Cột_chung1=Bí_danh3.Cột_chung1;

Ví dụ:

SELECT studentname,subjectname,mark FROM Student a JOIN Marks b ON a.studentid=b.studentid JOIN Subjects c ON b.subjectid=c.subjectid;

Nếu trong Các_cột mà có cột nào có tên trùng nhau ở nhiều bảng thì cần phải nói rõ cột đó là của bảng nào bằng cú pháp:

Bí_danh.Cột_chung

Ví dụ cột studentid đều nằm ở hai bảng Student và Marks và cột subjectid đều nằm ở hai bảng Marks và Subjects thì nếu muốn lấy cột studentid và subjectid trong tập kết quả ta làm như sau:

SELECT a.studentid,studentname,c.subjectid,subjectname,mark FROM Student a JOIN Marks b ON a.studentid=b.studentid JOIN Subject c on b.subjectid=c.subjectid;

» Tiếp: LEFT, RIGHT & FULL JOIN
« Trước: SELECT với 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 !!!