- --笛卡尔积查询.
- select * from emp,dept;--结果为64条,emp表有14条,dept表有4条
- --别名查询
- --改变查询后的结果显示的列名,在字段后面写要显示的列名(注意一定要用双引号括起来,oracle查询中之后这里用到双引号!)
- select ename "name" ,loc "地点" from emp e ,dept d where e.deptno = d.deptno;
-
- --查询出雇员的编号,姓名,部门的编号和名称,地址
- select * from emp;
- select * from dept;
- select e.empno "雇员编号",
- e.ename "姓名",
- e.deptno "部门的编号",
- d.dname "部门名称",
- d.loc "部门地址"from emp e,
- dept d where e.deptno = d.deptno;--当字段名唯一时,字段前的别名可以省略
- select empno "雇员编号",
- ename "姓名",
- e.deptno "部门的编号",--当两张表中都有该字段时,字段前的别名一定不能省略
- dname "部门名称",
- loc "部门地址"from emp e,
- dept d where e.deptno = d.deptno;
-
- --查询出每个员工的上级领导
- select e1.mgr,e1.ename , e2.empno, e2.ename
- from emp e1, emp e2
- where e1.mgr = e2.empno ;
-
- --在上面的查询基础上查询该员工的部门名称
- select e1.mgr,e1.ename , e2.empno, e2.ename,d.dname
- from emp e1, emp e2,dept d
- where e1.mgr = e2.empno and e1.deptno = d.deptno;
-
- --查出每个员工编号,姓名,部门名称,工资等级和他的上级领导的姓名,工资等级
- select * from salgrade;
- select * from emp;
-
- select e1.mgr,
- e1.sal,
- e1.ename,
- decode(g1.grade,
- 1,
- '一等',
- 2,
- '二等',
- 3,
- '三等',
- 4,
- '四等',
- 5,
- '五等') "员工工资等级",
- e2.empno,
- e2.sal,
- e2.ename,
- decode(g2.grade,
- 1,
- '一等',
- 2,
- '二等',
- 3,
- '三等',
- 4,
- '四等',
- 5,
- '五等') "领导工资等级"
- from emp e1, --员工表
- emp e2, --领导表
- salgrade g1, --员工工资等级
- salgrade g2 --领导工资等级
- where e1.mgr = e2.empno
- and e1.sal between g1.losal and g1.hisal
- and e2.sal between g2.losal and g2.hisal;
复制代码
|