Oracle中几个典型的关于函数查询_3月5日
一、在不知道部门“SALES”的部门编号的情况下,查出此部门的所有员工姓名。
select e.ename
from emp e
where e.deptno=(select deptno from dept where dname='SALES');
2、查询出月薪高于公司平均月薪的所有员工编号,姓名,所有部门编号,部门名称,上级领导名,以及
他的工资等级。
SELECT
e.empno,e.ename,e.deptno,d.deptno,d.dname,e1.ename,s.grade
from emp e,emp e1,dept d,salgrade s
where e.mgr=e1.empno(+) and e.deptno=d.deptno and e.sal between s.losal and s.hisal and
e.sal>(select avg(sal) from emp);
3、查询出与"SCOTT"从事同一工作的所有员工及部门名称。(不包括scott,用<>也可以)
select e.ename,d.dname from emp e,dept d where job=(select job from emp where
ename='SCOTT') and e.deptno=d.deptno and e.ename!='SCOTT';
4、查询出月薪等于部门30中员工的月薪的所有员工姓名和月薪。
select e.ename,e.sal from emp e where e.sal in (select sal from emp where deptno=30) and deptno!=30;
5、查出月薪高于部门30工作的所有员工月薪的,员工姓名,部门名。
All(查询语句):>最大值,<最小值
in() 再这个范围内有没有
any()比里面最小的大,比最大的小;
SELECT
e.ename,d.dname
from
emp e,dept d
where e.sal>(select max(sal) from emp where deptno=30) and e.deptno=d.deptno and e.deptno<>30;
6、查询出每个部门名,员工总数,平均工资,平均服务年限。
month_between(sysdate,e.hiredate)/12
//两个时间差多少个月/12是差多少年
select d.dname,count(e.empno),avg(e.sal),avg(months_between(sysdate,e.hiredate)/12)
from emp e,dept d
where e.deptno(+)=d.deptno
group by d.dname;
相关文档:
一.说明
oracle 的exp/imp命令用于实现对数据库的导出/导入操作;
exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;
imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。
二.语法
可以通过在命令行输入 imp help=y 获取imp的语法信息:
========= ......
早上用户反应在操作用友NC时报错 ORA-01653 ,详细信息:ORA-01653: 表 NCV35.GL_DETAIL 无法通过 1024 (在表空间 NNC_DATA01 中) 扩展。
在日志文件 F:\oracle\product\10.2.0\admin\CUTC\bdump\alert_cutc.log中,出现
Thu Mar 04 10:59:21 2010
ORA-1653: unable to extend table NCV35.GL_DETAIL by 1024 in&nb ......
exp document/document2009@document owner=document rows=y compress=y buffer=65536 feedback=100000 file=D:\document.dmp log=D:\document.log
exp whd/whd2009@whddb owner=whd rows=y compress=y buffer=65536 feedback=100000 file=D:\whd.dmp log=D:\whd.log
imp document/document2009@document fromuser=docume ......
Oracle学习笔记一实例
——通过与SqlServer对比学习
Oracle学习笔记一实例
Oracle学习笔记二存储
Oracle学习笔记三方案
实例
在Oracle和SqlServer中都有实例一说,但这两个实例是不同的。
在Sql ......
1、用来插入大量测试数据的存储过程
CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST
(
ST_NUM IN NUMBER,
ED_NUM IN NUMBER
)
IS
BEGIN
declare
......