Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để thực hiện FULL OUTER JOIN trong ORACLE bằng toán tử '+'?

Bạn không thể (ít nhất là trực tiếp). Oracle chỉ hỗ trợ một kết nối bên ngoài đầy đủ bằng cách sử dụng cú pháp SQL:1999.

Bạn có thể giả mạo nó bằng cách hợp nhất hai phép nối bên ngoài:

select a.field1, b.field2
from table_a a, table_b b
where a.id = b.id(+)
union all 
select a.field1, b.field2
from table_a a, table b b
where a.id(+) = b.id
      and a.id is null

Nó dễ đọc hơn rất nhiều bằng cách sử dụng cú pháp SQL:1999:

select a.field1, b.field2
from table_a a full outer join table_b b
on a.id = b.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thay đổi định dạng ngày từ MM / DD / YYYY thành YYYY-MM-DD trong PL / SQL?

  2. Tải một lượng lớn dữ liệu vào Cơ sở dữ liệu Oracle SQL

  3. Bật SSL hoặc TLS trong Oracle Apps R12

  4. Cập nhật trình tự cho điều kiện cụ thể - Oracle

  5. simpleJdbc Gọi thủ tục Pl / SQL - ORA-22922 giá trị LOB không tồn tại