除了常用的兩個表連線之外,sql(mysql) join 語法還支援多表連線。多表連線基本語法如下:
1
...
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
1admin
3jack
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 ...