Oracle给出了列名

ref*_*rer 3 sql oracle

我有2个表,2列(user_id和年).

查询1:

SELECT * FROM table_1 t1 
FULL JOIN table_2 t2 ON t1.user_id=t2.user_id AND t1.year=t2.year
Run Code Online (Sandbox Code Playgroud)

生成以下列名称:

user_id, year, user_id_1, year_1
Run Code Online (Sandbox Code Playgroud)

QUERY2:

CREATE TABLE table_copy AS SELECT * FROM
(SELECT * FROM table_1 t1 
 FULL JOIN table_2 t2 ON t1.user_id=t2.user_id  AND t1.year=t2.year);
Run Code Online (Sandbox Code Playgroud)

生成以下模糊列名称:

QCSJ_C000000000400000, QCSJ_C000000000400002, QCSJ_C000000000400001, QCSJ_C000000000400003
Run Code Online (Sandbox Code Playgroud)

是否有一种简短的方法可以强制Oracle query2使用相同的名称query1而不显式地编写它们(当有很多列时这很重要)?也许有些Oracle设置?

cag*_*boy 5

列出列并使用AS指定列名称.

例如

CREATE TABLE table_copy AS
SELECT t1.user_id AS t1_user_id,
       t1.year    AS t1_year,
       t2.user_id AS t2_user_id,
       t2.year    AS t2_year
FROM   table_1 t1
FULL   JOIN table_2 t2 ON t1.user_id=t2.user_id
AND    t1.year=t2.year;
Run Code Online (Sandbox Code Playgroud)