`

left join... on...

阅读更多
select * from A left join B on A.aid = B.bid ;
这里哪个是左哪个是右, 
不过一般的写法都要对应的,即from A left join B 。这里是把所有的A的内容全部查出来,而与B里面对应的没有的A记录的则按照NULL的来算。

 

(1)select  distinct s.* from scene s left join scene_video sv on sv.scene_id=s.id 
left表示把左边部分全查出来,right把右边部分全查出来。
这里是把所有的scene全查出来,总共66条记录。
(2)select  distinct sv.* from scene s right join scene_video sv on sv.scene_id=s.id 
这里是把所有的scene_video全查出来,总共267条记录。
(3)select  distinct s.* from scene s right join scene_video sv on sv.scene_id=s.id 
left表示把左边部分全查出来,right把右边部分全查出来。
想把scene_video全查出来,结果写成了s.*,是查scene记录的。从scene里面记录找scene_video记录里面对应的,结果也是66条记录。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics