MySQL JOIN 多表連線

2022-02-13 05:49:35 字數 2143 閱讀 8071

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

1

...fromtable1inner|left|rightjointable2onconditioninner|left|rightjointable3oncondition ...

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 articleleft 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

小明普通文章

使用 left join 三個表查詢:

select article.aid,article.title,user.username,type.typename from articleleft 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 articleright 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 混用,其返回結果與各關鍵字順序有關,感興趣可自行測試。

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 語法還支援多表連線。多表連線基本語法如下 from table1 inner left right join table2 on condition inner left right join table3 on condition artic...

mysql join連線查詢

hash join 雜湊連線 sort merge join 合併排序連線 join的連線方式的的選擇 阿里sql軍規 強制 超過三個表禁止join。需要join的字段,資料型別必須絕對一致 多表關聯查詢時,保證被關聯的字段需要有索引。說明 即使雙表join也要注意表索引,sql效能。nested ...