/

SQL連結

SQL連結

如何在兩個資料庫表之間執行簡單的連結

連結是一個非常強大的工具。還記得資料庫介紹模組中的關聯代數嗎?

連結是應用的關聯代數

假設你有兩個表,名為peoplecars

1
2
3
4
5
6
7
8
9
10
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
);

我們新增一些資料:

1
2
3
4
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是我的狗,但假設狗可以開車。

我們可以使用以下語法創建一個連結

1
SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';

我們將獲得以下結果:

1
2
3
 age 
-----
8

發生了什麼?我們在兩個表cars上使用兩個特定的列進行連結:people表中的namecars表中的owner

連結是一個可以根據多個表執行更高級操作的主題,但這是最基本的示例。