Oracle Create Table As创建表

一、Oracle Create Table As创建表 语法

CREATE TABLE AS 语句用于通过复制现有表的列从现有表创建表。

语法:

CREATE TABLE new_table  
AS (SELECT * FROM old_table);   

二、Create Table As创建表 示例:复制另一个表的所有列

在此示例中,我们通过复制现有表“Customers”中的所有列来创建“newcustomers”表。

CREATE TABLE newcustomers  
AS (SELECT *   FROM customers  WHERE customer_id < 5000);  

输出结果为:

Table created.

该表被命名为“newcustomers”,并具有与“customers”表相同的列。

三、Create Table As创建表 示例:复制另一个表的选定列

语法:

CREATE TABLE new_table  
  AS (SELECT column_1, column2, ... column_n  
      FROM old_table);  

举个例子:

CREATE TABLE newcustomers2  
AS (SELECT customer_id, customer_name  
    FROM customers  
    WHERE customer_id < 5000);  

上面的示例将创建一个名为“newcustomers2”的新表。此表包括来自客户表的指定列 customer_id 和 customer_name。

四、Create Table As创建表 示例:从多个表中复制选定的列

语法:

CREATE TABLE new_table  
AS (SELECT column_1, column2, ... column_n  
    FROM old_table_1, old_table_2, ... old_table_n);  

举个例子:假设您已经创建了两个表“regularcustomers”和“irregularcustomers”。

表“regularcustomers”具有三列 rcustomer_id、rcustomer_name 和 rc_city。

CREATE TABLE  "regularcustomers"   
   (    "RCUSTOMER_ID" NUMBER(10,0) NOT NULL ENABLE,   
    "RCUSTOMER_NAME" VARCHAR2(50) NOT NULL ENABLE,   
    "RC_CITY" VARCHAR2(50)  
   )  
/  

第二个表“irregularcustomers”也有三列 ircustomer_id、ircustomer_name 和 irc_city。

CREATE TABLE  "irregularcustomers"   
   (    "IRCUSTOMER_ID" NUMBER(10,0) NOT NULL ENABLE,   
    "IRCUSTOMER_NAME" VARCHAR2(50) NOT NULL ENABLE,   
    "IRC_CITY" VARCHAR2(50)  
   )  
/

在下面的示例中,我们将创建一个名为“newcustomers3”的表,从两个表中复制列。

例子:

CREATE TABLE newcustomers3  
  AS (SELECT regularcustomers.rcustomer_id, regularcustomers.rc_city, irregularcustomers.ircustomer_name  
      FROM regularcustomers, irregularcustomers  
      WHERE regularcustomers.rcustomer_id = irregularcustomers.ircustomer_id  
      AND regularcustomers.rcustomer_id < 5000);   

 

热门文章

优秀文章