W3School

INNER JOIN trong SQL

Từ khóa INNER JOIN chọn các bản ghi có giá trị phù hợp trong cả hai bảng.

Cú pháp INNER JOIN

Bạn có thể download cơ sở dữ liệu Northwind để bắt đầu thực hành tại đây:

- Dành cho Sql Server, MS Access Download
- Dành cho Mysql: Tạo bảng trước với Download Table sau đó hãy điền data với Download Data
- Dành cho Oracle Download

Lưu ý: Tên bảng trong CSDL cho SQL Server thường được viết hoa chữ đầu. Với Mysql thì tên bảng được viết thường. Và với Oracle thì tên bảng toàn bộ được viết hoa. Bạn hãy viết đúng tên bảng trong query của mình nhé.

Trong nội dung bài viết, đôi khi tên bảng được viết dưới dạng tiếng Việt, ví dụ:

- Customers: Khách hàng
- Orders: Đơn hàng
- Employees: Nhân viên
- Shipers: Giao hàng
- Invoices: Hoá đơn

Ví dụ về SQL INNER JOIN

Câu lệnh SQL sau chọn tất cả các đơn đặt hàng có thông tin khách hàng:

Lưu ý: Từ khóa INNER JOIN chọn tất cả các hàng từ cả hai bảng miễn là có sự phù hợp giữa các cột. Nếu có bản ghi trong bảng “Đơn đặt hàng” không khớp trong “Khách hàng”, những đơn đặt hàng này sẽ không được hiển thị!

Join với Ba Bảng

Câu lệnh SQL sau chọn tất cả các đơn đặt hàng có thông tin về khách hàng và người giao hàng:

Lưu ý rằng kể cả bạn JOIN nhiều bảng (Có thể là hơn cả 3 bảng) thì điều kiện sau ON sẽ quyết định bạn đang join bảng nào với bảng nào. Trong ví dụ trên bạn thấy rằng hai bảng Customers và Shippers đều join với bảng Orders, tuy nhiên bạn cũng có thể join bảng với bảng trong lệnh join trước nếu chúng có những mối liên kết nhất định như ví dụ dưới đây.

SELECT *
FROM ThietBi
INNER JOIN KhuVuc ON ThietBi.MaKhuVuc = KhuVuc.MaKhuVuc
INNER JOIN TrungTamChiPhi ON KhuVuc.MaTrungTamChiPhi = TrungTamChiPhi.MaTrungTamChiPhi

W3School

Leave a comment

Your email address will not be published. Required fields are marked *