如何在SQL中修改加载所得表的列名且不改动原数据库?
解决方案
完全可以实现,该操作全程不会修改原数据库的任何表结构或数据,只需要在SELECT查询时使用列别名(AS关键字)即可。
具体修改示例
你给出的查询语句仅需要给目标列添加别名声明即可完成重命名,修改后代码如下:
SELECT table1.col_1, table1.col_2, table2.col_3 AS new_column, table2.col_4, table2.col_5 FROM table1 INNER JOIN table2 ON table1.column_t_1 = table2.column_t_2;
补充说明
AS关键字在PostgreSQL中可以省略,直接写table2.col_3 new_column也能生效,但保留AS可读性更强,更推荐使用- 如果你需要将查询结果直接生成一张新的物理表,只需要在查询语句前加
CREATE TABLE 新表名 AS前缀即可,新表的对应列会自动使用你设置的别名,示例如下:
CREATE TABLE 自定义新表名 AS SELECT table1.col_1, table1.col_2, table2.col_3 AS new_column, table2.col_4, table2.col_5 FROM table1 INNER JOIN table2 ON table1.column_t_1 = table2.column_t_2;
- 别名仅在当前查询的返回结果/新生成表中生效,不会对原表的列名、数据产生任何影响
内容的提问来源于stack exchange,提问作者IGB
相关产品推荐
相关产品推荐

