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

Cách tìm THAM GIA LEFT OUTER hoặc RIGHT OUTER JOIN với ORACLE JOIN (+)

Vui lòng làm rõ cách tìm phép nối bên phải và bên trái đúng cách bằng một ví dụ

Tôi sẽ thử để chỉ ra sự khác biệt giữa cú pháp nối ngoài của Oracle Cú pháp ANSI / ISO .

THAM GIA BÊN NGOÀI TRÁI -

SELECT e.last_name,
  d.department_name
FROM employees e,
  departments d
WHERE e.department_id = d.department_id(+);

SELECT e.last_name,
  d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);

THAM GIA ĐÚNG NGƯỜI RA NGOÀI -

SELECT e.last_name,
  d.department_name
FROM employees e,
  departments d
WHERE e.department_id(+) = d.department_id;

SELECT e.last_name,
  d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);

THAM GIA NGOÀI TRỜI ĐẦY ĐỦ -

Trước khi có sự hỗ trợ gốc của hash full externaljoin trong 11gR1, Oracle sẽ chuyển đổi nội bộ FULL OUTER JOIN theo cách sau -

SELECT e.last_name,
  d.department_name
FROM employees e,
  departments d
WHERE e.department_id = d.department_id(+)
UNION ALL
SELECT NULL,
  d.department_name
FROM departments d
WHERE NOT EXISTS
  (SELECT 1 FROM employees e WHERE e.department_id = d.department_id
  );

SELECT e.last_name,
  d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);

Hãy xem cái này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle tương đương với MySQL CHÈN BỎ QUA?

  2. Lặp lại các hàng dựa trên giá trị cột trong mỗi hàng

  3. Hàm chứa () trong PL-SQL hoạt động như thế nào?

  4. Hàm JSON_QUERY () trong Oracle

  5. Sự khác biệt trừ so với ngoại trừ trong ORACLE / SQL Server