Oracle学习记录2(多表查询)
2018-01-23 11:30
295 查看
1.内链接
可以选择是否使用别名的方式来联表,以下是使用内连:
select * from emp , emtp where emp.no=emtp.no;
select * from emp , emtp where emp.no != emtp.no;
2.外链接
当where.deptno=d.deptno不成立的时候,等号左边的表任然被包含在最后的结果中
写法:wheree.deptno=d.deptno(+)
当wheree.deptno=d.deptno不成立的时候,等号右边的表任然被包含在最后的结果中
写法: wheree.deptno(+)=d.deptno
总结 以(+)对面的那张表最全,至于是左外,还是右外,其实不那么重要,一定要区分的话,以为前面的一张主表为,也就是from后面的那张表。一般是a.id=b.id(+)这个时候就是在+对面的这个 为主,叫左外链接。
(+)和使用left join的方式,网络上是说(+)比较快,但是很少有人使用。
3.自链接
通过表的别名,将同一张表视为两张表。不适合操作大表,笛卡尔集大。一张表的count数就是笛卡尔集的数据条数。
4.层次查询
相关文章推荐
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle学习记录2(多表查询)
- Oracle记录学习
- oracle用with语句查询第N到第M条记录
- oracle学习记录之十五
- Oracle查询数据库中所有表的记录数
- oracle学习记录之十八
- ORACLE查询删除重复记录三种方法