目录
1 概念
2 内连接
3 左连接
4 右连接
5 全连接/联合查询
1 概念
- 内连接 inner join:只返回两个表中连接字段相等的记录。
- 左连接 left join:返回包括左表中的所有记录和右表中连接字段相等的记录。右表中没有则以null显示.
- 右连接 right join:返回包括右表中的所有记录和左表中连接字段相等的记录。表中没有则以null显示.
- 全连接 union all:返回两站表的所有记录,相同记录会去重。(取出的列数必须相同)
2 内连接
- 关键字:inner join ... on
- 语句:select * from tabel_a a inner join table_b b on a.id = b.id
- 说明:组合两张表的记录,返回两张表中关联字段相等的记录,即返回两张表的交集部分。
- 示例:
3 左连接
- 关键字:left join ... on
- 语句:select * from tabel_a a left join table_b b on a.id = b.id
- 说明:返回包括左表中的所有记录和右表中连接字段相等的记录。右表中没有则以null显示.
- 示例:
4 右连接
- 关键字:right join ... on
- 语句:select * from tabel_a a right join table_b b on a.id = b.id
- 说明:返回包括右表中的所有记录和左表中连接字段相等的记录。表中没有则以null显示.
- 示例:
5 全连接/联合查询
- 关键字:union all
- 语句:(select * from tabel_a) union all (select * from table_b)
- 说明:返回两张表的所有记录,相同记录会去重。(取出的列数必须相同)
- 示例: