在一個資料庫中,通常存在多張相互關聯的表。我們沿用前例的 mytable(員工基本資料:姓名、性別、出生日期、出生地),並新建一張 title 表記錄員工發表的文章(作者、標題、發表日期)。
mytableMySQL> SELECT * FROM mytable;
+----------+------+------------+-----------+
| name | sex | birth | birthaddr |
+----------+------+------------+-----------+
| abccs | f | 1977-07-07 | china |
| mary | f | 1978-12-12 | usa |
| tom | m | 1970-09-02 | usa |
+----------+------+------------+-----------+
title 並插入資料MySQL> CREATE TABLE title (
writer VARCHAR(20) NOT NULL,
title VARCHAR(40) NOT NULL,
senddate DATE
);
MySQL> SELECT * FROM title;
+--------+-------+------------+
| writer | title | senddate |
+--------+-------+------------+
| abccs | a1 | 2000-01-23 |
| mary | b1 | 1998-03-21 |
| abccs | a2 | 2000-12-04 |
| tom | c1 | 1992-05-16 |
| tom | c2 | 1999-12-12 |
+--------+-------+------------+
利用 WHERE 條件指定關聯鍵 name = writer,查詢作者 abccs 的姓名、性別與文章標題:
MySQL> SELECT name, sex, title
-> FROM mytable, title
-> WHERE name = writer AND name = 'abccs';
+-------+------+-------+
| name | sex | title |
+-------+------+-------+
| abccs | f | a1 |
| abccs | f | a2 |
+-------+------+-------+
此為最基本的內連接(Inner Join)寫法,透過共同欄位將兩張表的資料結合。