在實際工作中會用到多表聯查,此時需要用到關鍵字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