Trong bài viết này, chúng ta sẽ tìm hiểu sự khác biệt giữa Inner Join và Outer Join trong SQL.
Inner Join
Mệnh đề sử dụng là
INNER JOINvàJOIN.Trả về các tuple kết hợp của hai hoặc nhiều bảng.
Khi không có thuộc tính chung, kết quả rỗng.
Nếu số lượng tuple lớn,
INNER JOINhoạt động nhanh hơn so vớiOUTER JOIN.Sử dụng khi cần thông tin chi tiết về một thuộc tính cụ thể.
JOINvàINNER JOINhoạt động tương tự nhau.
Cú pháp
SELECT * FROM table_1 INNER JOIN / JOIN table_2 ON table_1.column_name = table_2.column_name;
Outer Join
Trả về các tuple kết hợp của bảng được chỉ định.
Trả về kết quả ngay cả khi điều kiện
JOINthất bại.Có thể sử dụng các mệnh đề
LEFT OUTER JOIN,RIGHT OUTER JOIN,FULL OUTER JOIN.Không phụ thuộc vào các thuộc tính chung.
Nếu thuộc tính trống, sẽ đặt
NULLthay vì để trống.OUTER JOINchậm hơn so vớiINNER JOIN.Sử dụng khi cần thông tin hoàn chỉnh.
FULL OUTER JOINvàFULL JOINhoạt động tương tự nhau.
Cú pháp
SELECT * FROM table_1 LEFT OUTER JOIN / RIGHT OUTER JOIN / FULL OUTER JOIN / FULL JOIN table_2 ON Table_1.column_name = table_2.column_name;