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

Tham gia bên ngoài Oracle với điều kiện bộ lọc trên bảng thứ hai

Không, không có điều kiện nào mà các tập kết quả sẽ khác nhau.

Nhưng giả định của bạn "a.id = b.id(+) không có nghĩa "không đúng 100%. Nó một ý nghĩa, bởi vì nó xác định phép nối, nếu không thì đây sẽ là tích cacte của a và b với tất cả các hàng từ a và b.name ='XYZ'.

Điều không có tác dụng là (+) , bởi vì câu lệnh này sai "về mặt ngữ nghĩa". Không có ý nghĩa gì khi tham gia bên ngoài trên id nhưng tham gia trên tên.

Thông thường, một cái gì đó tương tự được mong muốn:

select  * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';

Ví dụ ngắn gọn tại http://www.sqlfiddle.com/#!4/d19b4/ 15




  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 để tạo trục xoay động với ngày tháng và một cột khác trong oracle?

  2. Cập nhật cột dựa trên bản ghi trước đó

  3. Nhập BLOB (Hình ảnh) từ oracle sang tổ ong

  4. Chế độ xem cụ thể hóa trong oracle với Làm mới nhanh thay vì liều lượng hoàn chỉnh không hoạt động

  5. Làm cách nào để tải các giá trị số Oracle sang .NET mà không có Zeros?