SQL学习(五)多表关联-join
在实际工作中会用到多表联查,此时需要用到关键字JOIN
一、inner join(内连接)
至少有一个匹配时返回行,只返回两个表中连接字段相等的行
如:
select * from ticket
inner join job
on ticket.id=job.t_id
只查询出,ticket.id=job.t_id的数据
二、left join(左连接)
即使右表中没有匹配,也从左表中返回所有的行
如:
select * from ticket
left join job
on ticket.id=job.t_id
不管ticket.id是不是等于job.t_id,首先返回ticket中的所有数据;如果ticket.id=job.t_id时,返回相应的job数据;如果ticket.id!=job.t_id时,对应的job数据显示为null
三、right join(右连接)
即使左表中没有匹配,也从右表中返回所有的行
如:
select * from ticket
right join job
on ticket.id=job.t_id
不管ticket.id是不是等于job.t_id,首先返回job中的所有数据;如果ticket.id=job.t_id时返回相应的ticket数据;如果ticket.id!=job.t_id时,对应的ticket数据显示为null
四、full join(外连接)
只要其中一个表中存在匹配,则返回行(返回两个表中的行)
如:
select * from ticket
full join job
on ticket.id=job.t_id
不管ticket.id是不是等于job.t_id,首先返回ticket和job的所有数据;如果ticket.id=job.t_id时,会在相应的ticket数据后显示job数据;如果ticket.id!=job.t_id时,ticket数据和job数据分两行显示,其对应方的数据分别显示null