MySQL JOIN 多表連線(四)

2021-06-08 01:23:33 字數 1895 閱讀 4227

除了常用的兩個表連線之外,sql(mysql) join 語法還支援多表連線。多表連線基本語法如下:

... from table1 inner|left|right join table2 on condition inner|left|right join table3 on condition ...
article 文章表:

aidtitle

content

uidtid

1文章1

文章1正文內容...11

2文章2

文章2正文內容...12

3文章3

文章3正文內容...21

5文章5

文章5正文內容...41

user 使用者表:

uidusername

email

1admin

[email protected]小明

[email protected]

3jack

[email protected]

type 文章型別表:

tidtypename

1普通文章

2精華文章3草稿

我們使用 inner join 列出三個表中都具有關聯關係的資料:

select article.aid,article.title,user.username,type.typename from article inner join user 

on article.uid=user.uid inner join type on article.tid=type.tid

返回查詢結果如下:

aidtitle

username

typename

1文章1

admin

普通文章

2文章2

admin

精華文章

3文章3

小明普通文章

使用 left join 三個表查詢:

select article.aid,article.title,user.username,type.typename from article left join user 

on article.uid=user.uid left join type on article.tid=type.tid

返回查詢結果如下:

aidtitle

username

typename

1文章1

admin

普通文章

2文章2

admin

精華文章

3文章3

小明普通文章

4文章4

null

普通文章

使用 right join 三個表查詢:

select article.aid,article.title,user.username,type.typename from article right join user 

on article.uid=user.uid right join type on article.tid=type.tid

返回查詢結果如下:

aidtitle

username

typename

1文章1

admin

普通文章

2文章2

admin

精華文章

3文章3

小明普通文章

null

null

null草稿

可見,在 right join 右連線中,只是列出最後乙個右連線表的所有資料。

對於 mysql 多表 join,還可以 inner、left 和 right 混用,其返回結果與各關鍵字順序有關,感興趣可自行測試。

from     

MySQL JOIN 多表連線

除了常用的兩個表連線之外,sql mysql join 語法還支援多表連線。多表連線基本語法如下 from table1 inner left right join table2 on condition inner left right join table3 on condition join ...

MySQL JOIN 多表連線

除了常用的兩個表連線之外,sql mysql join 語法還支援多表連線。多表連線基本語法如下 1 fromtable1inner left rightjointable2onconditioninner left rightjointable3oncondition article 文章表 ai...

四 多表連線

1 內連線 select from 副表 join 主表 on 副表.外來鍵 主表.主鍵 2 左連線 把左表的資料全部加上沒有對應的用null補齊 select from 副表 left join 主表 on 副表.外來鍵 主表.主鍵 3 右連線 把右表的資料全部加上沒有對應的用null補齊 sel...