在 PostgreSQL 中,CREATE TABLE AS 语句用于创建一个新表,并从查询的结果中填充该表。它允许你在不手动指定表结构的情况下,根据查询结果动态地创建新表。

以下是 CREATE TABLE AS 语句的基本语法:
CREATE TABLE new_table AS
    SELECT column1, column2, ...
    FROM existing_table
    WHERE condition;

其中:
  •  new_table 是要创建的新表的名称。

  •  column1, column2, ... 是新表的列,可以是来自查询结果的列或是计算得到的表达式。

  •  existing_table 是查询数据的源表。

  •  WHERE condition 是可选的条件,用于筛选源表的数据。


以下是一个简单的例子,创建一个名为 new_employees 的新表,该表包含了 employees 表中部分列的数据:
CREATE TABLE new_employees AS
    SELECT employee_id, first_name, last_name
    FROM employees
    WHERE hire_date >= '2022-01-01';

这个例子中,new_employees 表包含了 employees 表中的部分数据,具体是 employee_id、first_name 和 last_name 列,且仅包括入职日期在 '2022-01-01' 及之后的员工。

请注意,CREATE TABLE AS 语句会根据查询结果的数据类型自动创建新表的列。如果需要更详细地控制列的属性,可以使用 CREATE TABLE 语句手动定义表结构。


转载请注明出处:http://www.zyzy.cn/article/detail/8680/PostgreSQL