Bài viết này được đăng tại
freetuts.net
Bạn đang đọc: Outer Join trong Oracle – Freetuts
, không được copy dưới mọi hình thức.
Tóm Tắt
1. Left Outer Join trong Oracle
Left Outer Join là phép kết giữa hai bảng, kết quả trả về sẽ như sau: Bảng thứ nhất (phía bên trái) sẽ lấy tất cả record cho dù có thỏa điều kiện ở ON hay không, còn bảng thứ hai (phía bên phải) thì chỉ lấy những record nào thỏa điều kiện ở ON. Những column nào không thỏa điều kiện ON sẽ có giá trị NULL.
Bạn xem hình sẽ dể hiểu hơn :
Bài viết này được đăng tại [ không tính tiền tuts. net ]
Theo nguyên tắc thì tổng số column trả về sẽ là của cả hai bảng, và do 1 số ít record ở table1 không kết được với tài liệu ở table2 nên những record đó vẫn chứa những column ở table2 nhưng tài liệu của nó sẽ là NULL .Cú pháp
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON table1.column = table2.column;Ví dụ
SELECT suppliers.supplier_id, suppliers.supplier_name, order1.order_number FROM suppliers LEFT OUTER JOIN order1 ON suppliers.supplier_id = order1.supplier_id;Giả sử hiệu quả của lệnh này sẽ như sau :
Như trong hình thì do bảng suppliers là bảng phía bên trái nên nó được chỉ định là lấy tất cả, còn bảng order1 là bảng bên phải nên chỉ lấy những record thỏa điều kiện ở ON, vì vậy dữ liệu của các column nằm trong bảng order1 bị rỗng.
2. Right Oter Join trong Oracle
trái lại với Left Outer Join, lệnh này sẽ lấy tât cả record ở bảng thứ hai ( bảng bên phải ) và chỉ những record thỏa điều kiện kèm theo ON ở bảng thứ nhất ( bảng bên trái ). Column nào không thỏa điều kiện kèm theo ON sẽ có giá trị NULL
Cú pháp
SELECT columns FROM table1 RIGHT [OUTER] JOIN table2 ON table1.column = table2.column;Ví dụ
SELECT order1.order_number, order1.city, suppliers.supplier_name FROM suppliers RIGHT OUTER JOIN order1 ON suppliers.supplier_id = order1.supplier_id;3. Full Outer Join trong Oracle
Full Outer Join sẽ là hợp của cả Lef Outer Join và Right Outer Join, nghĩa là nó sẽ lấy toàn bộ những record ở bảng thứ nhất lẫn bảng thứ hai. Column nào không thỏa điều kiện kèm theo ở ON sẽ có giá trị NULL .
Cú pháp
SELECT columns FROM table1 FULL [OUTER] JOIN table2 ON table1.column = table2.column;Ví dụ
SELECT suppliers.supplier_id, suppliers.supplier_name, order1.order_number FROM suppliers FULL OUTER JOIN order1 ON suppliers.supplier_id = order1.supplier_id;4. Lời kết
Đối với lệnh JOIN này thì bạn phải tự thực hành thực tế trên chính CSDL của bạn thì mới dễ hiểu, vì thế nỗ lực viết thật nhiều câu SQL, chạy và xem hiệu quả nhé .
Bài tiếp theo mình sẽ ra mắt về Self Join, đây không phải là là lệnh gì đặc biệt quan trọng mà nó chỉ là cách sử dụng JOIN trên cùng một table .
Source: https://final-blade.com
Category : Kiến thức Internet