sql >> Database teknologi >  >> RDS >> Oracle

Oracle sql-afledt tabel - valgfri aliasing

Du behøver kun at alias, når du refererer til en kolonne, der ikke er entydigt defineret. Det betyder, at kolonnen findes i mere end én tabel/afledt tabel. En reference kan være i select-erklæringen eller en joinforbindelse. Hvis alle kolonner er unikke, behøver du ikke et alias.

Jeg foretrækker at alias hele tiden for klarhed, og fordi det hjælper med Intellisense i 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. Hvordan opretter jeg forbindelse til en MySQL-database i Python?

  2. Php addslashes sql-injektion stadig gyldig?

  3. tsvector understøtter kun engelsk?

  4. PostgreSQL/JDBC og TIMESTAMP vs. TIMESTAMPTZ