Sự khác biệt giữa Tham gia trái và Tham gia ngoài trái

Trái tham gia vs Trái ngoài Tham gia

Trong SQL, các phép nối được sử dụng để kết hợp các bản ghi đến từ các bộ dữ liệu khác nhau. Tham gia có thể là tham gia bên trong hoặc tham gia bên ngoài. Một phép nối bên trong trả về các bản ghi khớp với cả hai bảng, trái ngược với phép nối ngoài đối diện với phép nối bên trong. Do đó, phép nối ngoài trả về những bản ghi không khớp trong một trong hai bảng. Sự khác nhau giữa nối ngoài phải và nối ngoài trái được thảo luận dưới đây.

Sự khác biệt

Như đã lưu ý trước đó, một phép nối bên trong sẽ chỉ tạo ra một tập hợp các bản ghi có trong hai bảng đang được so sánh. Mặt khác, một phép nối ngoài đầy đủ là một phép nối tạo ra bộ hoàn chỉnh của tất cả các bản ghi có trong cả hai bảng được so sánh. Trong trường hợp không có trận đấu, các trận đấu bị thiếu sẽ chứa null.

Một kết nối bên ngoài bên trái sẽ chứa một bộ hồ sơ đầy đủ đến từ bảng đầu tiên và kết quả phù hợp sẽ có sẵn với kết quả của nó trong bảng tương ứng. Trong trường hợp không có kết quả phù hợp, phía bên phải sẽ chứa null. Để chỉ tạo các bản ghi trong bảng bên trái chứ không phải bảng bên phải, hãy sử dụng mệnh đề 'where' xuất hiện.

Để tạo các bản ghi duy nhất cho bảng bên phải và bản ghi bên trái, nên sử dụng kết nối bên ngoài đầy đủ. Đã thực hiện đầy đủ kết nối bên ngoài, một mệnh đề trong đó, một mệnh đề trong đó sử dụng để loại trừ các kết quả không mong muốn cả hai bên bên phải và bên trái. Hơn nữa, một phép nối Cartesian có thể được sử dụng để giúp nối mọi thứ trái và phải. Điều này đôi khi có thể không phải là những gì đang được tìm kiếm, nhưng là những gì đôi khi xuất hiện. Các phép nối tạo ra một tập dữ liệu mạnh mẽ cung cấp tới 16 hàng tập dữ liệu, thường là nhiều hơn dự đoán. Mặc dù bạn nhận được một lượng lớn các tập dữ liệu, các phép nối này cực kỳ nguy hiểm vì một sự không tương thích nhỏ có thể làm tê liệt toàn bộ hệ thống.

Nếu bạn đang làm việc với một dự án cũng tìm kiếm khả năng tương thích của máy chủ Microsoft SQL, thì sẽ có những lợi ích thu được từ việc sử dụng phép nối ngoài bên trái. Trình tự trả về bắt đầu với các bản ghi bên trong được trả về trước, tiếp theo là bản ghi tham gia bên phải và cuối cùng là phần tham gia của các bản ghi bên trái. Việc sử dụng câu lệnh nối trái hoặc nối ngoài trái trong môi trường SQL sẽ tham chiếu đến cùng một câu lệnh. Về bản chất, điều này có nghĩa là không có sự khác biệt nào về kết quả dự kiến ​​liệu sử dụng phép nối trái được sử dụng hay phép nối ngoài trái được sử dụng. Kết quả sẽ tương tự, trừ khi môi trường nằm trong máy chủ Microsoft SQL. Từ khóa bên ngoài có thể được sử dụng hoặc thậm chí bỏ qua mà không phải lo lắng vì kết quả không khác nhau theo bất kỳ cách nào.

Tóm lược

Tham gia được sử dụng trong SQL để so sánh các bộ dữ liệu khác nhau

Một phép nối bên trong chỉ tạo ra một tập hợp các bản ghi có trong hai bảng đang được so sánh

Một phép nối ngoài tạo ra một bộ hoàn chỉnh của tất cả các bản ghi trong cả hai bảng đang nghiên cứu

Mệnh đề 'where' được sử dụng để tạo các bản ghi duy nhất sau khi sử dụng tham gia đầy đủ

Một phép nối Cartesian liên kết cả hai yếu tố trái và phải của một bảng.

Có một sự khác biệt đáng chú ý khi tham gia trái và tham gia ngoài trái được sử dụng khi sử dụng máy chủ Microsoft SQL

Nói chung, việc sử dụng câu lệnh nối bên trái hoặc bên trái tham chiếu cùng một câu lệnh chính xác. Vì không có sự khác biệt, nên sử dụng nối ngoài bên trái.