如何在 SQL 資料庫中創建視圖並與其互動

在 SQL 中,一個有趣的功能是可以創建視圖

視圖就像一個表格,但不同於實際的表格,它是根據 SELECT 查詢的結果動態構建的。

讓我們使用在連接語句課程中使用過的示例:

CREATE TABLE people (
 age INT NOT NULL,
 name CHAR(20) NOT NULL PRIMARY KEY
);

CREATE TABLE cars (
 brand CHAR(20) NOT NULL,
 model CHAR(20) NOT NULL,
 owner CHAR(20) NOT NULL PRIMARY KEY
);

我們添加一些數據:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');

我們可以創建一個稱為 car_age 的視圖,該視圖始終包含車型與車主年齡之間的關聯:

CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;

以下是我們可以使用 SELECT * FROM car_age 檢查的結果:

 model | owner_age 
----------------------+-----------
 Fiesta | 37
 Mustang | 8

視圖是持久的,在您的資料庫中看起來就像一個表格。您可以使用 DROP VIEW 刪除一個視圖:

DROP VIEW car_age