THAM GIA TỰ NHIÊN và ĐẦY ĐỦ

Đã hoàn thành

NỐI NGOÀI ĐẦY ĐỦ

A FULL OUTER JOIN, còn được gọi là FULL JOIN, LEFT JOINRIGHT JOINkết hợp các đặc điểm của cả hai và , bao gồm tất cả các hàng từ cả hai bảng trong tập kết quả.
Nếu có một hàng khớp giữa các bảng dựa trên mệnh ON đề, các cột từ cả hai bảng sẽ được điền vào. Tuy nhiên, nếu một hàng trong một bảng không khớp trong bảng còn lại, các cột từ bảng không khớp sẽ hiển thị các giá trị null.

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
FULL OUTER JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

Truy vấn này kết hợp tất cả các hàng từ cả hai bảng sales.customerssales.orders và đảm bảo không có dữ liệu nào bị loại trừ khỏi cả hai bên. Mệnh ON đề thiết lập mối quan hệ giữa hai bảng bằng cách khớp với customer_id cột.
Nếu một hàng trong một bảng không có kết quả khớp tương ứng trong bảng kia, các cột không khớp sẽ trả về giá trị null.
Bạn sẽ sử dụng phương pháp này để xem toàn diện tất cả các khách hàng và đơn hàng, bao gồm các kịch bản trong đó một bản ghi không có bản ghi liên kết trong bản ghi còn lại.

THAM GIA TỰ NHIÊN

NATURAL JOIN là một loại kết nối SQL giúp đơn giản hóa quy trình kết hợp các bảng bằng cách tự động khớp các cột có cùng tên và kiểu dữ liệu tương thích từ cả hai bảng. Không giống như kết nối rõ ràng, ON trong đó mối quan hệ giữa các bảng được xác định bằng mệnh đề, NATURAL JOIN dựa trên tên cột để xác định các thuộc tính dùng chung. Nó đảm bảo rằng chỉ những hàng có giá trị giống hệt nhau trong các cột khớp mới được đưa vào tập kết quả, lọc ra các giá trị không khớp một cách hiệu quả.

Cách tiếp cận này rất hữu ích khi các bảng được liên kết có mối quan hệ được xác định rõ ràng và tên cột khớp, vì nó làm giảm nhu cầu về đặc tả thủ công của điều kiện nối.
Tuy nhiên, người dùng phải thận trọng vì việc dựa hoàn toàn vào tên cột có thể dẫn đến kết quả không mong đợi nếu bảng chứa cột có tên giống hệt nhau nhưng dữ liệu không liên quan.

SELECT c.customer_name, o.order_id
FROM sales.customers AS c
NATURAL JOIN sales.orders AS o;

Truy vấn này kết hợp các bảng sales.customers bằng sales.orders cách tự động khớp các cột có cùng tên và kiểu dữ liệu tương thích, chẳng hạn như customer_id.