2017-10-07 84 views
-3

我被这个问题困住了。我知道表可以用select语句创建。SQL创建表

CREATE TABLE new_orders (ordr_id,order_date DEFAULT SYSDATE,cus_id) 
AS 
Select order_id.order_date,customer_id FROM Orders; 

对于上述问题,哪种说法是正确的?

  1. NEW_ORDERS表不会在列定义中指定默认值。
  2. NEW_ORDERS表将被创建,并且只有在指定列上定义的NOT NULL约束将被传递给新表。
  3. NEW_ORDERS表不会被创建,因为CREATE TABLE命令和SELECT子句中的列名不匹配。
  4. NEW_ORDERS表将被创建,并且订单表中指定列上定义的所有约束将被传递给新表。

我想正确的答案应该是3,但这是错误的。根据我的书的正确答案是2.我不明白它的方式?

+1

是MCQ吗? – Ravi

+0

您使用的是哪个版本的SQL? –

+0

你可以尝试自己? – Ravi

回答

0

答案不应该是3.因为在select声明中,您从Orders表中取值。所以你会使用该表的列名。从那里选择值,你将它插入new_orders。所以,列名不必是相同的,因为它们是不同的表。