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 các trường đó không phải ở dạng số thì chú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 cần 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 bổ 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 phân bổ cho một phòng ban), bạn có thể sử dụng thao tác LEFT JOIN hoặc RIGHT JOIN để tạo 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:
SELECT fields
FROM table1 INNER JOIN table2 ON table1.field1compoprtable2.field1 AND ON table1.field2compoprtable2.field2) OR 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:
SELECT fields
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.