【Mysql数据库】内连接 左连接 右连接 全连接
- 0.准备
- 1.内连接
- 1.1 SQL(不带where)
- 1.2 SQL(带where)
- 1.3总结
- 2.左连接
- 2.1SQL(不带where)
- 2.2SQL(带where)
- 2.3总结
- 3.右连接
- 3.1 SQL(不带where)
- 3.2 SQL(带where)
- 3.3 总结
- 4.全连接
- 实操一遍就明白了
0.准备
1.内连接
a和b的交集·
1.1 SQL(不带where)
SQL
---内连接
select a.id,b.id
from a ,b
where a.id = b.id
---效果和上面一样
select *
from a inner join b on a.id = b.id
结果
1.2 SQL(带where)
SQL
select *
from a ,b
where a.id = b.id and b.id = 2
结果
SQL
select *
from a inner join b on a.id = b.id
where a.id in (1,2)
结果
1.3总结
内连接有两种形式,就是求交集;若有where条件,则在交集中进行过滤。
2.左连接
2.1SQL(不带where)
SQL
select *
from a left join b on a.id = b.id
结果
2.2SQL(带where)
SQL
select *
from a left join b on a.id = b.id
WHERE b.id <= 2
结果
2.3总结
左外链接,就是左表(这里是a)显示所有的数据;若是带有where,则在上一步的基础上进行过滤即可。
3.右连接
3.1 SQL(不带where)
SQL
---右连接
select *
from a right join b on a.id = b.id
结果
3.2 SQL(带where)
SQL
select *
from a right join b on a.id = b.id
where a.id = 1
结果
3.3 总结
右连接,是以右表为基表(b),右表所有的数据显示;若是带有where,则在上一步的基础上进行过滤即可。
4.全连接
就是求并集
select *
from a
union
select *
from b