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

Bảng dẫn xuất sql Oracle - bí danh tùy chọn

Bạn chỉ cần đặt bí danh, khi bạn đang tham chiếu đến một cột không được xác định duy nhất. Điều này có nghĩa là cột tồn tại trong nhiều bảng / bảng dẫn xuất. Một tham chiếu có thể nằm trong câu lệnh select hoặc một phép nối. Nếu tất cả các cột là duy nhất thì bạn không cần bí danh.

Tôi thích đặt bí danh mọi lúc cho rõ ràng và vì nó giúp ích cho Intellisense trong PL / SQL.

--ALIAS needed, because the 'a' column referenced is not unique
--this will throw an error
select a, a, b, c
  from (select 'A1' as a, 'B1' as b, 'C1' as c from dual),
       (select 'A2' as a from dual);
--this will not throw an error
select t1.a, t2.a, b,c
  from (select 'A1' as a, 'B1' as b, 'C1' as c from dual) t1,
       (select 'A2' as a from dual) t2;
;

--ALIAS not needed for join, because all referenced columns are unique
select a, b, c, d, e, f
  from (select 'A' as a, 'B' as b, 'C' as c from dual)
  join (select 'D' as d, 'E' as e, 'F' as f from dual)
    on a = d;

--ALIAS needed for join, because the 'x' column referenced is not unique
--this will throw an error
select a
  from (select 'A' as a, 'B' as b, 'C' as c, 'X' as x from dual)
  join (select 'D' as d, 'E' as e, 'F' as f, 'X' as x from dual)
    on x = x;
--this will not throw an error
select a
  from (select 'A' as a, 'B' as b, 'C' as c, 'X' as x from dual) t1
  join (select 'D' as d, 'E' as e, 'F' as f, 'X' as x from dual) t2
    on t1.x = t2.x;


  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 SQL:Xuất sang CSV tránh dòng mới

  2. Tùy chọn phân phối trong khi gửi yêu cầu đồng thời trong R12.1.3

  3. Chuỗi kết nối Oracle cho Môi trường RAC?

  4. Bán phá giá khối dữ liệu

  5. Tệp Sql Script (apex_epg_config.sql) bị thiếu trong Oracle Apex 20.2