Kết hợp bản ghi từ hai bảng mỗi khi các giá trị trong trường chung khớp với nhau.
Cú pháp
FROM table1 INNER JOIN table2 ON table1. field1compopr table2. field2
Thao tác INNER JOIN có các phần sau:
| Phần | Mô tả |
|---|---|
| table1, table2 | Tên của bảng mà bản ghi được kết hợp từ đó. |
| field1, field2 | Tên của trường được nối. Nếu chúng không phải là số, các trường phải có cùng kiểu dữ liệu và chứa cùng kiểu dữ liệu nhưng không nhất thiết phải có cùng tên. |
| compopr | Bất kỳ toán tử so sánh quan hệ nào: "=," "<," "<>=," "=," ">=," hoặc "."<> |
Chú thích
Bạn có thể sử dụng thao tác INNER JOIN trong mệnh đề FROM bất kỳ. Đây là loại liên kết phổ biến nhất. Các nối trong sẽ kết hợp những bản ghi từ hai bảng mỗi khi các giá trị trong một trường chung của cả hai bảng khớp với nhau.
Bạn có thể sử dụng INNER JOIN với các bảng Phòng_ban và Nhân_viên để chọn tất cả nhân viên trong từng phòng ban. Ngược lại, để chọn tất cả phòng ban (ngay cả khi một số phòng ban không được phân công nhân viên) hoặc tất cả nhân viên (ngay cả khi một số nhân viên không được gán cho phòng ban), bạn có thể sử dụng thao tác LEFT JOIN hoặc RIGHT JOIN để tạo kết nối ngoài.
Nếu bạn tìm cách liên kết các trường chứa dữ liệu Bản ghi nhớ hoặc Đối tượng OLE thì sẽ xảy ra lỗi.
Bạn có thể liên kết hai trường số bất kỳ có loại như nhau. Ví dụ: bạn có thể liên kết các trường AutoNumber và Long vì chúng là các loại như nhau. Tuy nhiên, bạn không thể liên kết các loại trường Single và Double.
Ví dụ sau đây cho thấy cách bạn có thể liên kết các bảng Sản_phẩm và Danh_mục trên trường CategoryID:
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
Trong ví dụ trên, CategoryID là trường liên kết nhưng không được đưa vào kết quả truy vấn vì trường này không được đưa vào câu lệnh SELECT. Để bao gồm trường liên kết, hãy đưa tên trường vào câu lệnh SELECT — trong trường hợp này là Categories.CategoryID.
Bạn cũng có thể liên kết một số mệnh đề ON trong một câu lệnh JOIN, bằng cách sử dụng cú pháp sau:
CHỌN trường
FROM table1 INNER JOIN table2
ON table1. field1compoprtable2. field1 VÀ
ON table1. field2compoprtable2. field2) HOẶC
ON table1. field3compoprtable2. field3)];
Bạn cũng có thể lồng các câu lệnh JOIN bằng cách sử dụng cú pháp sau:
CHỌN trường
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3. field3compoprtablex. fieldx)]
ON table2. field2compoprtable3. field3)
ON table1. field1compoprtable2. field2;
Có thể lồng LEFT JOIN hoặc RIGHT JOIN vào INNER JOIN nhưng không thể lồng INNER JOIN vào LEFT JOIN hoặc RIGHT JOIN.