【379天】我愛刷題系列138(2018.02.19)

@(一隻心中無碼的程序員)專欄程序員

叨叨兩句

  1. ~

SQL習題033

1

題目描述
針對actor表建立視圖actor_name_view,只包含first_name以及last_name兩列,並對這兩列從新命名,fist_name爲first_name_v,last_name修改成last_name_v:
CREATE TABLE IF NOT EXISTS actor (
actor_id smallint(5) NOT NULL PRIMARY KEY,
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL,
last_update timestamp NOT NULL DEFAULT (datetime('now','localtime')))code

本題可用如下兩種方法求解,區別在於命名VIEW中字段名的方法差別。另外,本題OJ系統有Bug,由錯誤提示能夠看到,VIEW中本應有字段first_name_v,而OJ系統誤設爲了fist_name_v。
方法一:注意 CREATE VIEW ... AS ... 的 AS 是建立視圖語法中的一部分,然後面的兩個 AS 只是爲字段建立別名

CREATE VIEW actor_name_view AS
SELECT first_name AS fist_name_v, last_name AS last_name_v
FROM actor 

方法二:直接在視圖名的後面用小括號建立視圖中的字段名

CREATE VIEW actor_name_view (fist_name_v, last_name_v) AS
SELECT first_name, last_name FROM actor
相關文章
相關標籤/搜索