首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 多表關聯查詢與批次操作實戰(一)

     編輯:MySQL 資料庫相關知識

建立範例環境:兩張關聯資料表

在一個資料庫中,通常存在多張相互關聯的表。我們沿用前例的 mytable(員工基本資料:姓名、性別、出生日期、出生地),並新建一張 title 表記錄員工發表的文章(作者、標題、發表日期)。

1. 查看現有資料表 mytable

MySQL> 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       |
+----------+------+------------+-----------+

2. 建立第二張表 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 |
+--------+-------+------------+

3. 多表關聯查詢:查詢特定作者的文章

利用 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)寫法,透過共同欄位將兩張表的資料結合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved