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

Tại sao Oracle SQL giải quyết được sự mơ hồ một cách bí ẩn trong một kết hợp và không trong những liên kết khác

Đối với truy vấn thứ ba, Oracle 10g trả về trường 3 từ TestTable1 thứ hai (bí danh TestTable1_2). Đây dường như là một lỗi, có vẻ như đã được sửa sau 11g.

Hộp thử nghiệm:

INSERT INTO TestTable1 VALUES (1,2,3,NULL);
INSERT INTO TestTable1 VALUES (2,5,6,1);
INSERT INTO TestTable2 VALUES (5,6,7);
INSERT INTO TestTable2 VALUES (2,20,30);

SELECT field3
FROM TestTable1
join TestTable2 ON TestTable1.field1 = TestTable2.field1
left join TestTable1 TestTable1_2 ON TestTable1.self_ref = TestTable1_2.id;

FIELD3
======
3
(null)

SELECT TestTable1.field3, TestTable2.field3, TestTable1_2.field3
FROM TestTable1
join TestTable2 ON TestTable1.field1 = TestTable2.field1
left join TestTable1 TestTable1_2 ON TestTable1.self_ref = TestTable1_2.id;

FIELD3 FIELD3_1 FIELD3_2
====== ======== ========
6      7        3
3      30       (null)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AUTONOMOUS_TRANSACTION

  2. Nhận các giá trị duy nhất không được sử dụng trên bảng SQL

  3. java.sql.SQLException:ORA-01002:tìm nạp ngoài trình tự

  4. So sánh các nhà cung cấp Oracle .NET bên thứ 3

  5. excel để oracle db sử dụng VS 2005 C #