select-as用法太常见,就是给表中的列或者表本身起别名。下面,介绍一下create-as的用法:
CREATE TABLE AS语句
描述
您还可以使用SQL CREATE TABLE AS语句通过复制现有表的列来从现有表创建表。
需要注意的是,在以这种方式创建表时,将使用现有表中的记录(基于SELECT语句)填充新表。
创建表 - 通过复制另一个表中的所有列
句法
复制SQL中的所有列时,CREATE TABLE AS语句的语法是:
CREATE TABLE new_table
AS (SELECT * FROM old_table);
例
让我们看一个示例,它显示如何通过复制另一个表中的所有列来创建表。
例如:
CREATE TABLE suppliers
AS (SELECT *
FROM companies
WHERE id > 1000);
这将创建一个名为供应商的新表,其中包含公司表中的所有列。
如果公司表中有记录,则新供应商表还将包含SELECT语句选择的记录。
创建表 - 通过复制另一个表中的选定列
句法
复制所选列的CREATE TABLE AS语句的语法是:
CREATE TABLE new_table
AS (SELECT column_1, column2, … column_n
FROM old_table);
例
让我们看一个示例,该示例演示如何通过复制另一个表中的选定列来创建表。
例如:
CREATE TABLE suppliers
AS (SELECT id, address, city, state, zip
FROM companies
WHERE id > 1000);
这将创建一个名为suppliers的新表,但新表将只包含companies表中的指定列。
同样,如果公司表中有记录,那么新供应商表还将包含SELECT语句选择的记录。
创建表 - 通过复制多个表中的选定列
句法
从多个表复制列的CREATE TABLE AS语句的语法是:
CREATE TABLE new_table
AS (SELECT column_1, column2, … column_n
FROM old_table_1, old_table_2, … old_table_n);
例
让我们看一个示例,该示例显示如何通过复制多个表中的选定列来创建表。
例如:
CREATE TABLE suppliers
AS (SELECT companies.id, companies.address, categories.cat_type
FROM companies, categories
WHERE companies.id = categories.id
AND companies.id > 1000);
这将根据公司和类别表中的列创建一个名为供应商的新表。
经常问的问题
问题:如何在不复制旧表的任何值的情况下从另一个表创建SQL表?
答案:为此,SQL CREATE TABLE语法是:
CREATE TABLE new_table
AS (SELECT *
FROM old_table WHERE 1=2);
例如:
CREATE TABLE suppliers
AS (SELECT *
FROM companies WHERE 1=2);