知识大全 熟练Oracle的Sql语句必做18道
Posted 员工
篇首语:缺乏知识就无法思考,缺乏思考也就得不到知识。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 熟练Oracle的Sql语句必做18道相关的知识,希望对你有一定的参考价值。
熟练Oracle的Sql语句必做18道 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
使用scott/tiger用户下的emp表和dept表完成下列练习 表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/m佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
.列出至少有一个员工的所有部门
.列出薪金比 SMITH 多的所有员工
.列出所有员工的姓名及其直接上级的姓名
.列出受雇日期晚于其直接上级的所有员工
.列出部门名称和这些部门的员工信息 同时列出那些没有员工的部门
.列出所有 CLERK (办事员)的姓名及其部门名称
.列出最低薪金大于 的各种工作
.列出在部门 SALES (销售部)工作的员工的姓名 假定不知道销售部的部门编号
.列出薪金高于公司平均薪金的所有员工
.列出与 SCOTT 从事相同工作的所有员工
.列出薪金等于部门 中员工的薪金的所有员工的姓名和薪金
.列出薪金高于在部门 工作的所有员工的薪金的员工姓名和薪金
.列出在每个部门工作的员工数量 平均工资和平均服务期限
.列出所有员工的姓名 部门名称和工资
.列出所有部门的详细信息和部门人数
.列出各种工作的最低工资
.列出MANAGER(经理)的最低薪金
.列出所有员工的年工资 按年薪从低到高排序
===============================================
使用scott/tiger用户下的emp表和dept表完成下列练习 表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/m佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
.列出至少有一个员工的所有部门
select * from dept
where deptno in
(select deptno from emp group by deptno having count(*)> );
.列出薪金比 SMITH 多的所有员工
select * from emp
where sal>(select sal from emp where ename= SMITH );
.列出所有员工的姓名及其直接上级的姓名
select ename (select ename from emp where empno=a mgr) from emp a;
或
select ename (select ename from emp where empno=a mgr) as mgrname from emp a;
自连接
select a ename b ename from emp a emp b
where a mgr=b empno(+);外连接
.列出受雇日期晚于其直接上级的所有员工
select ename from emp a
where hiredate>(select hiredate from emp where empno=a mgr);
列出受雇日期早于其直接上级的所有员工
select ename from emp a where
hiredate<(select hiredate from emp where empno=a mgr);
.列出部门名称和这些部门的员工信息 同时列出那些没有员工的部门
select dname ename from dept left outer join emp
on dept deptno=emp deptno;
select dname ename from dept a emp b
where a deptno = b deptno(+);
.列出所有 CLERK (办事员)的姓名及其部门名称
select dname ename from dept a emp b
where a deptno=b deptno and job= CLERK ;
select (select dname from dept where deptno=a deptno) as dname ename
from emp a
where job= CLERK ;
.列出最低薪金大于 的各种工作
select job min(sal) msal from emp
group by job having min(sal)> ;
.列出在部门 SALES (销售部)工作的员工的姓名 假定不知道销售部的部门编号
select ename from emp where deptno=(select deptno from dept where dname= SALES );
.列出薪金高于公司平均薪金的所有员工
select ename from emp where sal>(select avg(sal) from emp);
.列出与 SCOTT 从事相同工作的所有员工
select * from emp where job=(select job from emp where ename= SCOTT );
.列出薪金等于部门 中员工的薪金的所有员工的姓名和薪金
select * from emp where sal in
(select sal from emp where deptno= );
或
select * from emp where sal = any
(select sal from emp where deptno= );
.列出薪金高于在部门 工作的所有员工的薪金的员工姓名和薪金
最大值>all
select * from emp where sal>all
(select sal from emp where deptno= );
最小值<all
select * from emp where sal < all
(select sal from emp where deptno= );
.列出在每个部门工作的员工数量 平均工资和平均服务期限
select deptno count(*)
trunc(avg(sal+nvl(m ))) avgsal
to_char(to_date( yyyy mm dd ) + avg(sysdate hiredate)
yy 年 mm 月 dd ) avgday
from emp group by deptno;
.列出所有员工的姓名 部门名称和工资
select ename dname sal+nvl(m ) from emp dept where emp deptno=dept deptno;
.列出所有部门的详细信息和部门人数
select a * (select count(*) from emp where deptno=a deptno) tot
from dept a ;
.列出各种工作的最低工资
select job min(sal+nvl(m )) from emp group by job;
这样写有问题
select job min(nvl(sal+m )) from emp group by job;
.列出MANAGER(经理)的最低薪金
select min(sal) from emp where job= MANAGER ;
.列出所有员工的年工资 按年薪从低到高排序
select ename (sal+nvl(m ))* tot from emp order by tot;
orcle的等连接
SELECT d * FROM EMP E DEPT D WHERE E DEPTNO=D DEPTNO;
orcla的外连接
SELECT d * FROM EMP E DEPT D WHERE E DEPTNO(+)=D DEPTNO;
+放在没有匹配行的表一侧 所以dept表的记录完全显示
标准等联结
select dept * from emp inner join dept
on emp deptno = dept deptno;
标准的右外联结
select dept * from emp right outer join dept
on emp deptno = dept deptno;
select dept * from dept left outer join emp
cha138/Article/program/Oracle/201311/16740相关参考
oracle中使用SQL递归语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 例子 pid&
Oracle维护常用SQL语句汇总 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何远程判断O
数据库手册:Oracle维护常用SQL语句二 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 回滚
数据库手册:Oracle维护常用SQL语句一 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 查看
oracle构造添加字段的SQL语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用ORACL
ORACLE优化SQL语句,提高效率(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 索引是
oracle中SQL语句可以使用的函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 字符串处理
Oracle体系框架及SQL语句性能探讨 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要基于
oracle中怎么确定性能差的SQL语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前者很容
监控事例的等待 selecteventsum(decode(wait_Time))Prev sum(decode(wait_Time))Currcount(*)Tot fromv$sessi