Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tabela pochodna Oracle sql — opcjonalny aliasing

Alias ​​wystarczy tylko wtedy, gdy odwołujesz się do kolumny, która nie jest jednoznacznie zdefiniowana. Oznacza to, że kolumna istnieje w więcej niż jednej tabeli/tabeli pochodnej. Odwołanie może znajdować się w instrukcji select lub łączeniu. Jeśli wszystkie kolumny są unikalne, nie potrzebujesz aliasu.

Wolę używać aliasów przez cały czas dla przejrzystości i ponieważ pomaga to w Intellisense w 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 11g — uruchamianie kursorów PL/SQL

  2. Zaktualizuj kolumnę tabeli Oracle o numer wiersza

  3. Jak połączyć Oracle Database z projektem Visual Studio C#?

  4. Błąd Oracle ORA-28759:nie udało się otworzyć pliku podczas żądania pakietu utl_http

  5. Nie można usunąć w bazie danych z powodu ograniczeń