THAM GIA PostgreSQL INNER
THAM GIA TRONG
Từ khóa INNER JOIN
chọn các bản ghi có giá trị trùng khớp trong cả hai bảng.
Hãy xem một ví dụ sử dụng bảng testproducts
giả của chúng tôi:
testproduct_id | product_name
| category_id
----------------+------------------------+-------------
1 | Johns Fruit Cake |
3
2 | Marys Healthy Mix |
9
3 | Peters Scary Stuff |
10
4 | Jims Secret Recipe |
11
5 | Elisabeths Best Apples |
12
6 | Janes Favorite Cheese |
4
7 | Billys Home Made Pizza |
13
8 | Ellas Special Salmon |
8
9 | Roberts Rich Spaghetti |
5
10 |
Mias Popular Ice |
14
(10 rows)
Chúng ta sẽ cố gắng nối bảng testproducts
với bảng categories
:
category_id | category_name |
description
-------------+----------------+------------------------------------------------------------
1 | Beverages | Soft drinks, coffees, teas,
beers, and ales
2 | Condiments | Sweet and savory sauces, relishes,
spreads, and seasonings
3 | Confections | Desserts, candies, and sweet breads
4 | Dairy Products | Cheeses
5 | Grains/Cereals | Breads, crackers, pasta, and cereal
6 | Meat/Poultry | Prepared meats
7 | Produce | Dried fruit and bean
curd
8 |
Seafood | Seaweed and fish
(8
rows)
Lưu ý rằng nhiều sản phẩm trong testproducts
có category_id
không khớp với bất kỳ danh mục nào trong bảng categories
.
Bằng cách sử dụng INNER JOIN
chúng tôi sẽ không nhận được các bản ghi không khớp, chúng tôi sẽ chỉ nhận được các bản ghi khớp với cả hai bảng:
Ví dụ
Kết hợp testproducts
với categories
bằng cột category_id
:
SELECT
testproduct_id, product_name, category_name
FROM testproducts
INNER JOIN categories ON
testproducts.category_id = categories.category_id;
Chạy ví dụ »Kết quả
Chỉ các bản ghi khớp trong CẢ HAI bảng mới được trả về:
testproduct_id | product_name
| category_name
----------------+------------------------+----------------
1 | Johns Fruit Cake | Confections
6 | Janes Favorite Cheese | Dairy Products
8 | Ellas Special Salmon | Seafood
9 | Roberts Rich Spaghetti | Grains/Cereals
(4 rows)
Lưu ý: JOIN
và INNER JOIN
sẽ cho kết quả như nhau.
INNER
là loại kết nối mặc định cho JOIN
, vì vậy khi bạn viết JOIN
trình phân tích cú pháp thực sự ghi INNER JOIN
.