THAM GIA PostgreSQL
THAM GIA
Mệnh đề JOIN
được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên một cột có liên quan giữa chúng.
Chúng ta hãy xem một lựa chọn từ bảng products
:
product_id | product_name | category_id
------------+----------------+-------------
33 | Geitost
| 4
34 | Sasquatch
Ale | 1
35 | Steeleye
Stout | 1
36 | Inlagd
Sill |
8
Sau đó, xem xét lựa chọn từ bảng categories
:
category_id | category_name
-------------+----------------
1 | Beverages
2 | Condiments
3 | Confections
4 | Dairy Products
Lưu ý rằng cột category_id
trong bảng products
đề cập đến category_id
trong bảng categories
. Mối quan hệ giữa hai bảng trên là cột category_id
.
Sau đó, chúng ta có thể tạo câu lệnh SQL sau (với THAM GIA), để chọn các bản ghi có giá trị khớp nhau trong cả hai bảng:
Ví dụ
Nối products
vào categories
bằng cột category_id
:
SELECT product_id, product_name, category_name
FROM products
INNER JOIN categories ON products.category_id = categories.category_id;
Chạy ví dụ »Nếu chúng tôi lấy ra lựa chọn tương tự từ bảng sản phẩm ở trên, chúng tôi sẽ nhận được kết quả này:
Kết quả
product_id
| product_name | category_name
------------+----------------+----------------
33 | Geitost | Dairy Products
34 | Sasquatch Ale | Beverages
35 | Steeleye Stout | Beverages
36 | Inlagd Sill | Seafood
Các loại kết nối khác nhau
Dưới đây là các loại Tham gia khác nhau trong PostgreSQL:
-
INNER JOIN
: Trả về các bản ghi có giá trị trùng khớp trong cả hai bảng -
LEFT JOIN
: Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi trùng khớp từ bảng bên phải -
RIGHT JOIN
: Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi trùng khớp từ bảng bên trái -
FULL JOIN
: Trả về tất cả các bản ghi khi có sự trùng khớp ở bảng bên trái hoặc bên phải