如何在兩個資料庫表之間執行簡單的連結
連結是一個非常強大的工具。還記得資料庫介紹模組中的關聯代數嗎?
連結是應用的關聯代數。
假設你有兩個表,名為people
和cars
:
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');
現在,假設我們想要關聯這兩個表,因為警方攔下了Roger,他看起來年輕,並希望從資料庫中得知他的年齡。
Roger是我的狗,但假設狗可以開車。
我們可以使用以下語法創建一個連結:
SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';
我們將獲得以下結果:
age
-----
8
發生了什麼?我們在兩個表cars
上使用兩個特定的列進行連結:people
表中的name
和cars
表中的owner
。
連結是一個可以根據多個表執行更高級操作的主題,但這是最基本的示例。