【问题标题】:SQL-Creating TableSQL 创建表
【发布时间】:2018-03-19 01:23:39
【问题描述】:

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

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 表,并将在 order 表中指定列上定义的所有约束传递给新表。

我认为正确答案应该是 3,但它是错误的。根据我的书,正确答案是 2。我怎么不明白?

【问题讨论】:

  • 是 MCQ 吗??????
  • 您使用的是哪个版本的 SQL?
  • 你可以自己尝试一下吗?
  • 已经尝试过了,这就是为什么我认为答案是 3。但我的书说这个 MCQ 的正确答案是 2。
  • @ravi 是的,这是 MCQ。

标签: sql subquery create-table


【解决方案1】:

答案不应该是 3。因为在 select 语句中,您从 Orders 表中获取值。因此,您将使用该表的列名。从那里选择值,您将其插入new_orders。因此,列名不必相同,因为它们是不同的表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 2018-01-18
    • 2015-11-07
    • 2010-10-05
    相关资源
    最近更新 更多