You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将JOIN连接查询结果存入同一Schema下的新表

实现方案

你可以直接使用CREATE TABLE ... AS SELECT(简称CTAS)语法实现需求,从语句中的ILIKE操作符可判断你使用的是PostgreSQL,该语法会自动根据查询返回的字段类型、字段名创建对应结构的新表,无需提前手动定义表结构。

要将结果存入和原表相同的ghana schema下,直接执行以下语句即可,示例中新表命名为census_with_area,你可以根据需求替换成自定义表名:

CREATE TABLE ghana.census_with_area AS
SELECT census2010.district,
       census2010.total,
       census2010.male,
       census2010.female,
       census2010.region,
       districts.area
FROM ghana.census2010
LEFT JOIN ghana.districts
ON census2010.region ILIKE districts.region;

注意事项

  • 新表名称不能和ghana schema下的已有表重名,否则语句会直接报错
  • CTAS语法不会自动继承原表的主键、索引、约束规则,如果需要给新表加主键、索引,等表创建完成后单独执行对应DDL语句即可
  • 如果你要写入的目标表已经存在,不能使用CTAS语法,需要改用INSERT INTO ... SELECT写法,前提是目标表的字段数量、类型和查询返回结果完全匹配:
-- 仅用于写入已存在的目标表
INSERT INTO ghana.your_existing_target_table
    (district, total, male, female, region, area)
SELECT census2010.district,
       census2010.total,
       census2010.male,
       census2010.female,
       census2010.region,
       districts.area
FROM ghana.census2010
LEFT JOIN ghana.districts
ON census2010.region ILIKE districts.region;
  • 写入完成后可以执行SELECT * FROM ghana.census_with_area LIMIT 10;抽样查询,验证数据是否正确存入

内容的提问来源于stack exchange,提问作者kojo justine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:57:23