Tham gia trong DBMS là gì?
Tham gia trong DBMS là một hoạt động nhị phân cho phép bạn kết hợp sản phẩm kết hợp và lựa chọn trong một câu lệnh duy nhất. Mục tiêu của việc tạo điều kiện kết hợp là nó giúp bạn kết hợp dữ liệu từ hai hoặc nhiều bảng DBMS. Các bảng trong DBMS được liên kết bằng cách sử dụng khóa chính và khóa ngoài.
Trong hướng dẫn DBMS này, bạn sẽ học:
- Các loại tham gia
- Tham gia bên trong
- Theta Tham gia
- Tham gia EQUI:
- Tham gia tự nhiên (⋈)
- Tham gia bên ngoài
- Tham gia bên ngoài bên trái (A
B)
- Tham gia bên ngoài bên phải (A
B)
- Tham gia bên ngoài đầy đủ (A
B)
Các loại tham gia
Chủ yếu có hai loại kết hợp trong DBMS:
- Tham gia bên trong: Theta, Natural, EQUI
- Tham gia bên ngoài: Trái, phải, đầy đủ
Chúng ta hãy xem chúng chi tiết:
Tham gia bên trong
INNER JOIN được sử dụng để trả về các hàng từ cả hai bảng thỏa mãn điều kiện đã cho. Đây là thao tác nối được sử dụng rộng rãi nhất và có thể được coi là kiểu nối mặc định
Phép nối bên trong hoặc liên kết tương đương là phép nối dựa trên bộ so sánh sử dụng các phép so sánh bình đẳng trong vị từ nối. Tuy nhiên, nếu bạn sử dụng các toán tử so sánh khác như ">" thì nó không thể được gọi là tương đương.
Tham gia bên trong được chia thành ba loại phụ:
- Theta tham gia
- Tham gia tự nhiên
- Tham gia EQUI
Theta Tham gia
THETA JOIN cho phép bạn hợp nhất hai bảng dựa trên điều kiện được đại diện bởi theta. Theta tham gia công việc cho tất cả các toán tử so sánh. Nó được ký hiệu bằng ký hiệu θ . Trường hợp chung của phép toán JOIN được gọi là phép nối Theta.
Cú pháp:
A ⋈θ B
Tham gia Theta có thể sử dụng bất kỳ điều kiện nào trong tiêu chí lựa chọn.
Hãy xem xét các bảng sau.
Bảng A | Bảng B | |||
cột 1 | cột 2 | cột 1 | cột 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Ví dụ:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.Cột 2> B.Cột 2 (B) | |
cột 1 | cột 2 |
1 | 2 |
Tham gia EQUI
EQUI JOIN được thực hiện khi một phép nối Theta chỉ sử dụng điều kiện tương đương. Tham gia EQUI là hoạt động khó triển khai hiệu quả nhất trong RDBMS và một lý do tại sao RDBMS gặp các vấn đề về hiệu suất thiết yếu.
Ví dụ:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. cột 2 = B. cột 2 (B) | |
cột 1 | cột 2 |
1 | 1 |
Tham gia tự nhiên (⋈)
NATURAL JOIN không sử dụng bất kỳ toán tử so sánh nào. Trong kiểu liên kết này, các thuộc tính phải có cùng tên và miền. Trong Natural Join, cần có ít nhất một thuộc tính chung giữa hai quan hệ.
Nó thực hiện sự lựa chọn hình thành sự bình đẳng trên những thuộc tính xuất hiện trong cả hai quan hệ và loại bỏ các thuộc tính trùng lặp.
Thí dụ:
Hãy xem xét hai bảng sau
C | |
Không | Quảng trường |
2 | 4 |
3 | 9 |
D | |
Không | Khối lập phương |
2 | số 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
Không | Quảng trường | Khối lập phương |
2 | 4 | số 8 |
3 | 9 | 18 |
Tham gia bên ngoài
Một OUTER JOIN không đòi hỏi mỗi bản ghi trong hai tham gia bảng để có hồ sơ phù hợp. Trong kiểu kết hợp này, bảng giữ lại từng bản ghi ngay cả khi không có bản ghi phù hợp nào khác tồn tại.
Ba loại kết hợp bên ngoài là:
- Tham gia bên ngoài bên trái
- Tham gia bên ngoài bên phải
- Tham gia đầy đủ bên ngoài
Tham gia bên ngoài bên trái (A
B)
LEFT JOIN trả về tất cả các hàng từ bảng bên trái ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên phải. Khi không tìm thấy bản ghi phù hợp nào trong bảng bên phải, NULL được trả về.
Hãy xem xét 2 bảng sau
A | |
Không | Quảng trường |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Không | Khối lập phương |
2 | số 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Không | Quảng trường | Khối lập phương |
2 | 4 | số 8 |
3 | 9 | 18 |
4 | 16 | - |
Tham gia bên ngoài bên phải (A
B)
RIGHT JOIN trả về tất cả các cột từ bảng bên phải ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên trái. Trường hợp không tìm thấy kết quả phù hợp nào trong bảng bên trái, NULL được trả về. RIGHT bên ngoài JOIN ngược lại với LEFT JOIN
Trong ví dụ của chúng tôi, giả sử rằng bạn cần lấy tên của các thành viên và phim do họ thuê. Bây giờ chúng tôi có một thành viên mới chưa thuê bất kỳ bộ phim nào được nêu ra.
AB
A ⋈ B | ||
Không | Khối lập phương | Quảng trường |
2 | số 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Tham gia bên ngoài đầy đủ (A
B)
Trong một FULL OUTER JOIN , tất cả các bộ giá trị từ cả hai quan hệ đều được đưa vào kết quả, bất kể điều kiện khớp là gì.
Thí dụ:
AB
A ⋈ B | ||
Không | Quảng trường | Khối lập phương |
2 | 4 | số 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Tóm lược:
- Chủ yếu có hai loại liên kết trong DBMS 1) Tham gia bên trong 2) Tham gia bên ngoài
- Phép nối bên trong là phép toán nối được sử dụng rộng rãi và có thể được coi là kiểu nối mặc định.
- Tham gia nội bộ được chia thành ba loại phụ: 1) Tham gia theta 2) Tham gia tự nhiên 3) Tham gia EQUI
- Theta Join cho phép bạn hợp nhất hai bảng dựa trên điều kiện được đại diện bởi theta
- Khi một phép nối theta chỉ sử dụng điều kiện tương đương, nó sẽ trở thành một phép nối tương đương.
- Phép nối tự nhiên không sử dụng bất kỳ toán tử so sánh nào.
- Một phép nối ngoài không yêu cầu mỗi bản ghi trong hai bảng nối phải có một bản ghi phù hợp.
- Tham gia bên ngoài được chia thành ba loại phụ là: 1) Tham gia bên ngoài bên trái 2) Tham gia bên ngoài bên phải 3) Tham gia bên ngoài đầy đủ
- Phép nối bên ngoài LEFT trả về tất cả các hàng từ bảng bên trái, ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên phải.
- Phép nối bên ngoài RIGHT trả về tất cả các cột từ bảng bên phải, ngay cả khi không tìm thấy hàng phù hợp nào trong bảng bên trái.
- Trong một phép nối bên ngoài đầy đủ, tất cả các bộ giá trị từ cả hai quan hệ đều được đưa vào kết quả, bất kể điều kiện khớp là gì.