left join:
作用:
LEFT JOIN 关键字会从左表A那里返回所有的行,即使在右表B中没有匹配的行。
注意:
(1)右表B中没有匹配的行,对应的字段则显示null。
(2)若是,一条左表A数据,对应两条右表B数据,则展示的时候,左表A的数据会有两条重 复的数据!
select o.id, oz.id
from by_cells_orderinfo o
left join by_cells_order_zhili oz on o.id = oz.cells_id;
结果:
select o.id, oz.id
from by_cells_order_zhili oz
left join by_cells_orderinfo o on o.id = oz.cells_id;
结果:
right join:
作用:
RIGHT JOIN 关键字会从右表B那里返回所有的行,即使在左表A中没有匹配的行。
注意:
(1)左表A中没有匹配的行,对应的字段则显示null。
(2)若是,一条右表B数据,对应两条左表A数据,则展示的时候,右表B的数据会有两条重 复的数据!
select o.id, oz.id
from by_cells_order_zhili oz
right join by_cells_orderinfo o on o.id = oz.cells_id;
小结:
A left join B的返回结果和B right join A的返回结果,一致!
inner join:
作用:
只返回两个表中联结字段相等的行!即,左右表中,都没有null!
select o.id, oz.id
from by_cells_orderinfo o
inner join by_cells_order_zhili oz on o.id = oz.cells_id;
注意:
会有重复数据!