参考资料:http://www.w3schools.com/sql/sql_join.asp
参考资料:http://www.powerxing.com/sql-join/
我们切换到新的分支进行开发
git checkout -b joins-1th
数据表界面
right_join
使用right_join的话,我们可以看到把右边所有6条微博都取出来了。而用户则是取出微博对应的用户,所以赵六没有在结果页面。
用户right join微博,等价于微博left join用户,都是一样的,如下结果跟上例保持一致
outer join
- 其实我们用过很多次了,只不过outer关键字在一般情况下都可以忽略不写,left join就是left outer join,right join 就是right outer join
如上,我们可以看到left_outer_join和right_outer_join与原来不写出outer的结果是一样的;outer关键字可写可不写。
full join与full outer join
rails还没见过需要full join的场景,这个以后碰到了再写
join
使用join的话,则是用户和微博有对应关系才放入结果集合。所以赵六没有对应的微博就没有出现在结果集合,id为5的微博没有对应的用户也没有出现在结果集。
因为join的原理是存在对应关系的才显示在结果集合中,所以用户去joins微博跟微博去joins用户都是一样的。
inner join
inner join的inner关键字在一般情况下是可以忽略的,所以inner join就是join,如下结果跟join的结果也是一样的
提交到git仓库
进入项目根目录
.../active_record_second# git add .
git commit -m "joins-1th"
git push -u https://github.com/xiaohuacc/active_record_second.git joins-1th
合并到主分支
git checkout master
git merge joins-1th
网友评论