Logo vi.removalsclassifieds.com

Sự khác biệt giữa kết hợp trái và phải (với bảng)

Mục lục:

Anonim

Tham gia là một biệt danh điển hình và phần tử lệnh sẽ xuất hiện theo thời gian trong khi xử lý SQL. Mệnh đề nối tạo điều kiện cho việc kết hợp các bản ghi từ các bảng khác nhau trong việc thu thập dữ liệu. Phép nối tạo ra một bảng có thể được sử dụng một mình hoặc kết hợp với nhau. Do đó, nên hiểu rõ các phép nối này và sự khác biệt giữa chúng để xác định phép nối cụ thể cũng như nên chọn phải hay trái trong những trường hợp duy nhất.

Tham gia trái và Tham gia phải

Sự khác biệt giữa phép nối trái và phép nối phải là sự kết hợp của các mục nhập không khớp là điểm khác biệt chính giữa cả hai loại phép nối này. LEFT JOIN xử lý tất cả các mục nhập từ phía bên trái cũng như các hàng được ghép nối từ bảng bên phải, trong khi RIGHT JOIN phân phối tất cả các hàng từ phía bên phải cũng như các hàng không khớp từ bảng điều khiển bên trái.

Mặc dù không có khớp ở phía bên phải của bảng, quy trình SQL LEFT đến tất cả các mục nhập từ bảng bên trái. Điều này ngụ ý rằng khi mệnh đề ON chứa 0 (không) mục nhập ở phía bên phải của bảng, phép nối sẽ vẫn trả về một bản ghi với NULL trong mọi trường từ bảng chính. Điều này ngụ ý rằng phép nối bên trái phân phối tất cả dữ liệu trước tiên từ bảng bên trái, cũng như bất kỳ giá trị phù hợp nào từ bảng bên phải hoặc NULL nếu không tồn tại vị từ nối phù hợp.

Mặt khác, phép nối phải thấy rằng ngay cả trong bảng bên trái, SQL RIGHT nhận và gửi tất cả các mục từ bảng bên phải. Điều này ngụ ý rằng ngay cả khi mệnh đề ON chứa 0 (không) mục nhập trong cơ sở dữ liệu bên trái, phép nối sẽ vẫn tạo ra một hàng có giá trị NULL trong mỗi trường từ bảng bên trái giống như phép nối bên trái nhưng ngược lại.

Điều này ngụ ý rằng một phép nối phải cung cấp tất cả dữ liệu từ bảng bên phải, cũng như mọi giá trị được chấp nhận từ các bảng hoặc NULL nếu không tồn tại vị từ nối phù hợp cho thao tác này.

Bảng so sánh giữa kết hợp trái và phải

Các thông số so sánh

Chỗ nối bên trái

Tham gia đúng

Cách sử dụng

Nó kết nối nhiều bảng và cung cấp tất cả các bản ghi từ bảng bên trái cũng như các hàng phù hợp như từ bên phải. Nó kết hợp nhiều bảng và cung cấp tất cả dữ liệu từ bảng bên phải cũng như khớp các hàng đầu tiên từ bảng bên trái.
Thực thi truy vấn

Trong quá trình triển khai truy vấn bao gồm phép nối bên trái, tất cả các mục nhập của bảng sẽ được nhận trước, sau đó dữ liệu khớp của các giá trị cột bảng bên phải được thu được bằng cách sử dụng các vòng xếp chồng và giá trị NULL được thay thế cho dữ liệu chưa khớp khác. Trong quá trình triển khai truy vấn bao gồm phép nối bên phải, tất cả dữ liệu của bảng bên phải sẽ được lấy trước và sau đó các bản ghi phù hợp của các giá trị cột bên trái được thu thập bằng cách sử dụng các vòng xếp chồng lên nhau.
Bộ kết quả

Giá trị đặt kết quả sẽ là NULL hoặc bằng không nếu không tìm thấy dữ liệu phù hợp nào trong bảng bên phải. Giá trị tập hợp kết quả sẽ là NULL hoặc bằng không nếu không tìm thấy dữ liệu phù hợp nào trong bảng bên trái.
Thuật ngữ đồng nghĩa

THAM GIA BÊN NGOÀI TRÁI THAM GIA ĐÚNG NGƯỜI RA NGOÀI
Cú pháp

CHỌN (các) tên cột TỪ table1LEFT THAM GIA table2ON table1.column_name = table2.column_name; CHỌN (các) tên cột TỪ bảng1 PHẢI THAM GIA bảng2 TRÊN table1.column_name = table2.column_name;

Tham gia trái là gì?

Để hợp nhất dữ liệu từ hai cơ sở dữ liệu tùy thuộc vào một cột chứa các giá trị phù hợp, chúng tôi sử dụng JOIN trong SQL. Ví dụ: nếu bạn có một bảng chứa dữ liệu khách hàng (ID khách hàng, họ, số nhận dạng, v.v.) và sau đó là một bảng khác chứa dữ liệu đơn đặt hàng cho một thời điểm cụ thể (ID giao dịch, thời gian, ID khách hàng, ID sản phẩm, v.v.), bạn có thể liên kết hai tập dữ liệu bằng cách sử dụng các cột bao gồm số ID khách hàng. Điều này sẽ cung cấp cho bạn thông tin về đơn đặt hàng và khách hàng của từng khách hàng và điều khoản kết nối Trái đóng một vai trò thiết yếu trong việc thực hiện thao tác này.

Hãy xem cú pháp của Left Join để hiểu đúng về tiện ích của nó:

CHỌN (các) tên cột

TỪ bảng1

LEFT JOIN table2

BẬT table1.column_name = table2.column_name

Để bắt đầu, cơ sở dữ liệu kiểm tra từng mục nhập trong bảng bên trái, sau đó tìm kiếm kết quả phù hợp trong bảng bên phải tùy thuộc vào các cột được liên kết. Nếu tìm thấy kết quả khớp, dữ liệu từ bảng bên phải sẽ được thêm vào hàng phù hợp của bảng bên trái. Nếu có nhiều kết quả khớp, cột trong bảng bên trái sẽ được sao chép để bao gồm tất cả dữ liệu trực tiếp từ bảng bên phải. Nếu không tìm thấy kết quả phù hợp nào, nó giữ nguyên hàng như từ bảng bên trái và sau đó chèn NULL vào các cột có liên quan của bảng bên phải.

Tham gia đúng là gì?

Nói trắng ra, thao tác nối bên phải rất giống với phép nối bên trái, ngược lại. Để hiểu rõ hơn, chúng ta sẽ đi qua phân tích cú pháp và cách sử dụng chung của phép nối phải cũng như liên kết đến bảng bên trái rất quan trọng trong trường hợp này.

Phép nối bên phải trong SQL cung cấp tất cả thông tin từ các hàng của bảng bên phải. Nó cũng chứa các giá trị được xác nhận từ bảng bên trái; tuy nhiên, nếu không tìm thấy kết quả phù hợp nào trong cả hai cơ sở dữ liệu, nó sẽ mang lại giá trị NULL. Các phép nối bên phải về cơ bản rất giống với phép nối bên trái ở chỗ chúng lấy ra tất cả các hàng từ bảng được chỉ định trong cụm từ RIGHT JOIN nhưng chỉ các hàng tương ứng từ bảng được chỉ định trong mệnh đề FROM.

RIGHT JOIN không thường xuyên được sử dụng vì nội dung của RIGHT JOIN có thể được lấy bằng cách chỉ cần hoán đổi nhãn của hai bảng được kết nối trong LEFT JOIN.

Truyền thống về việc luôn sử dụng LEFT JOIN có nhiều khả năng làm cho các truy vấn dễ hiểu và dễ xác minh hơn, mặc dù không có lý do thuyết phục nào để tránh sử dụng RIGHT JOIN. Điều đáng nói là LEFT JOIN và RIGHT JOIN cũng có thể được biểu thị là LEFT OUTER JOIN cũng như RIGHT OUTER JOIN.

Cú pháp cho Right Join được mô tả thêm bên dưới. Các hoạt động của phép nối bên phải và bên trái giống hệt nhau, nhưng theo thứ tự ngược lại:

CHỌN (các) column_name TỪ table1RIGHT THAM GIA table2ON table1.column_name = table2.column_name

Sự khác biệt chính giữa kết hợp trái và tham gia phải

Sự kết luận

Khi tương tác với các phép nối khác nhau này, điều quan trọng là phải biết rằng trong phép nối bên trái bên trái, tất cả các cột từ bên trái của bảng đều hiển thị trong cơ sở dữ liệu. Kết quả xuất hiện bất kể các cột phù hợp có sẵn trong bảng chính xác hay không. Không có gì khác biệt cho dù bạn sử dụng nối ngoài bên trái hay bên phải vì hậu quả là như nhau. Thông tin quy trình được cung cấp bởi một phép nối bên ngoài bên phải cũng giống như thông tin được cung cấp bởi một phép nối bên ngoài bên trái.

Người giới thiệu

Sự khác biệt giữa kết hợp trái và phải (với bảng)