CROSS JOIN và FULL JOIN không giống nhau, mặc dù cả hai đều liên quan đến việc kết hợp dữ liệu từ hai bảng. Dưới đây là sự khác biệt giữa chúng

1. CROSS JOIN
- Cách hoạt động: CROSS JOIN kết hợp tất cả các bản ghi của bảng này với tất cả các bản ghi của bảng kia.
- Kết quả: Số bản ghi trong kết quả là tích của số bản ghi từ hai bảng (cartesian product).
- Sử dụng: Hiếm khi được dùng, nhưng có thể hữu ích khi cần so sánh hoặc tạo tổ hợp tất cả các cặp giá trị từ hai bảng.
Ví dụ:
- Nếu
TableA
có 3 dòng vàTableB
có 2 dòng, kết quả sẽ có 3×2=63 \times 2 = 6 dòng.
2. FULL JOIN (FULL OUTER JOIN)
- Cách hoạt động: FULL JOIN kết hợp tất cả các bản ghi từ cả hai bảng, bao gồm:
- Các bản ghi khớp (theo điều kiện
ON
). - Các bản ghi không khớp từ bảng đầu tiên (với
NULL
ở cột của bảng kia). - Các bản ghi không khớp từ bảng thứ hai (với
NULL
ở cột của bảng đầu tiên).
- Các bản ghi khớp (theo điều kiện
- Kết quả: Một tập hợp đầy đủ các bản ghi từ hai bảng.
Ví dụ:
- Nếu
TableA
có 3 dòng,TableB
có 2 dòng, và chỉ 1 dòng khớp, kết quả sẽ có 4 dòng (bao gồm các dòng không khớp từ cả hai bảng).
So sánh nhanh:
Đặc điểm | CROSS JOIN | FULL JOIN |
---|---|---|
Cách kết hợp | Tất cả cặp giá trị từ hai bảng | Bản ghi khớp và không khớp |
Số lượng bản ghi | Tích số bản ghi của hai bảng | Tập hợp tất cả bản ghi của hai bảng |
Hỗ trợ trong MySQL | Có | Không (phải mô phỏng bằng UNION) |
FULL JOIN trong MySQL
MySQL không hỗ trợ trực tiếp FULL OUTER JOIN
. Bạn có thể mô phỏng bằng cách sử dụng UNION
của LEFT JOIN
và RIGHT JOIN
:
- Cách này: Mang lại kết quả giống như
FULL OUTER JOIN
.
Tóm lại:
- CROSS JOIN ≠ FULL JOIN.
- CROSS JOIN tạo tất cả cặp giá trị từ hai bảng.
- FULL JOIN kết hợp bản ghi khớp và không khớp từ hai bảng.
Video tham khảo : Full Join
Hướng dẫn thiết kế website bằng WordPress
Hướng dẫn thiết kế website bằng WordPress Bước 1: Chọn tên miền và hosting Chọn [...]
Th10
Mẫu Website 2024 tại Bà rịa
[...]
Th8
Thiết Kế Website Bà Rịa
Thiết Kế Website Bà Rịa [...]
Th8