Oracle学习记录2(多表查询)
2018-01-23 11:30
260 查看
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(多表查询)
- mysql 学习记录(二)--查询,权限,字段控制
- mybatis 学习记录(4.1)—— 级联查询(无 association 和 collection)
- oracle分组统计查询之后,获取数量最大的记录
- Oracle学习记录1(单行函数,多行函数)
- oracle学习 第一章 简单的查询语句 ——02
- oracle 学习记录