oracle学习之三--多表查询
2012-04-24 17:23
225 查看
一、在oracle中存在这样几种表的连接方式:
1、等值连接:连接2张表其中有相同的字段
2、不等值连接
3、外连接:当条件不成立时,某些记录仍然显示
4、自连接:自己和自己连接
对与不等值的连接如:
select e.ename,e.sal,s.grade
from emp e,salgrade s
where e.sal between s.losal and s.hisal;
外连接操作,当条件不成立时,结果中仍然希望某些记录显示
左外连接:当条件不成立时,符号左边 的信息仍然显示,写法:where d.deptno=e.deptno(+);
如:
select d.deptno,d.dname,count(e.empno)
from emp e,dept d
where d.deptno=e.deptno(+)
group by d.deptno,d.dname;
右外连接:当条件不成立时,等号左边的信息仍然显示,写法:where d.deptno(+)=e.deptno;
自连接的关键:通过表的别名,将同一张表视为多张表
select empno,ename,mgr
from emp
connect by prior empno=mgr
start with empno=7839
1、等值连接:连接2张表其中有相同的字段
2、不等值连接
3、外连接:当条件不成立时,某些记录仍然显示
4、自连接:自己和自己连接
对与不等值的连接如:
select e.ename,e.sal,s.grade
from emp e,salgrade s
where e.sal between s.losal and s.hisal;
外连接操作,当条件不成立时,结果中仍然希望某些记录显示
左外连接:当条件不成立时,符号左边 的信息仍然显示,写法:where d.deptno=e.deptno(+);
如:
select d.deptno,d.dname,count(e.empno)
from emp e,dept d
where d.deptno=e.deptno(+)
group by d.deptno,d.dname;
右外连接:当条件不成立时,等号左边的信息仍然显示,写法:where d.deptno(+)=e.deptno;
自连接的关键:通过表的别名,将同一张表视为多张表
select empno,ename,mgr
from emp
connect by prior empno=mgr
start with empno=7839
相关文章推荐
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- Oracle 11g学习笔记--高级查询
- 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】
- 八、Oracle数据库之学习笔记---Oracle的表的基本查询(5)
- 学习了一个oracle的语句--查询所有的表
- ORACLE层次查询学习 level connect by
- Oracle 学习(五)---分页查询
- ORACLE层次查询学习
- oracle 10g 学习之多表查询、分组函数(6)
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- Oracle学习之路-日期查询
- Oracle学习记录2(多表查询)
- Oracle学习(6):子查询
- Oracle中的index学习 ---理解索引为何物,为什么会使查询变快
- Oracle学习(一):基本操作和基本查询语句
- 四、Oracle数据库之学习笔记---Oracle的表的基本查询(1)
- 学习SQL查询语句 基于Oracle默认的表
- Oracle学习记录2(多表查询)
- oracle学习 第一章 简单的查询语句 ——01
- oracle学习查询总结