先创两张表来做测试,一张买菜表,一张消费表
买菜表
消费表
左连(left join)
左连接,顾名思义,就是以左边的数据为主要,右边有的数据将显示,没有则不显示
下面用编码的方式看一下左连接的效果
select * from grees g
left join mon m on m.mid = g.mid
虽然说消费表中这捆青菜是没有消费记录的,但是还是显示出来了,因为主表是左边的买菜表,所以说不管消费表是有没有数据,只要是买菜表有数据并且这两张表关联了,就得显示,就算数据为空
//注释 left join 等同于left outer join,但是一般写left join
右连(right join)
右连接,也是与名相同,以右边的数据为主要,那么刚刚是买菜表为主,现在就是以消费表为主了,看看sql效果
select * from grees g
right join mon m on m.mid = g.mid
这里只有两条数据,是因为消费表也只有两条,在右边的消费表有几条数据那么就显示几条,这就是主表为消费表的右连接
//注释:right join 等同于right outer join,但是一般写成right join
内连(inner join)
内连接,意思也是一样的,就是说这两张表以内的数据都要有的才会显示,下面看看sql变化
select * from grees g
inner join mon m on m.mid = g.mid
只显示了一条数据,因为只有这条数据消费表与买菜表都有数据,那么就会显示,这就是内连接的效果
//注释:inner join 等同于join