如何在 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