`
zhaoxu841020
  • 浏览: 58278 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论
  • chhbwf: 请问做过gwt的导出功能没?就是利用gwt显示在页面的html ...
    GWT
  • yangwn: 不感恭维GWT-EXT,只是觉得它是UI的支持还算可以,但是伟 ...
    GWT
  • lucky16: 这东西是得学习!
    数据库设计

Oracle 常用语法练习

阅读更多

--1.列出所有员工及直接上级的姓名
select e.ename,nvl(m.ename,'无')
from emp e,emp m
where e.mgr = m.empno(+);

--2.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称
select e.empno,e.ename,d.dname
from emp e,emp m,dept d
where e.mgr = m.empno(+) and e.deptno = d.deptno and e.HIREDATE < m.hiredate;

--3.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门.
select d.dname,nvl(e.ename,'无')
from emp e,dept d
where e.deptno(+) = d.deptno;

--4.列出至少有一个员工的所有部门
select d.dname,count(e.empno)
from emp e,dept d
where e.deptno = d.deptno group by d.dname having count(e.empno) > 0;

--5.列出薪金比"SMITH"多的所有员工信息.
select * from emp where sal >
(select sal from emp where ename = 'SMITH');

--6.列出所有"CLERK"(办事员)的姓名及其部门名称,部门的人数.
select e.ename,d.dname,ed.cc
from emp e,dept d,(select deptno,count(empno) cc from emp group by deptno) ed
where e.deptno = d.deptno and d.deptno = ed.deptno and e.job = 'CLERK';

select * from emp where  JOB = 'CLERK' ;
--7.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数.
select e.job,count(e.empno)
from emp e where e.job in
(select job
from emp group by job having min(sal)>1500)
group by e.job;

--8.列出在部门"SALES"<销售部>工作的员工的姓名,假定不知道销售部的部门编号.
select ename from emp where deptno =
(select deptno from dept where dname = 'SALES');

--9.列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,雇员的工资等级.
select ename 姓名,d.dname 部门名称,nvl((select m.ename from emp m where e.mgr = m.empno),'无') 上级领导,
(select grade from salgrade where e.sal between losal and hisal) 工资等级
from emp e,dept d
where e.deptno = d.deptno and e.sal >
(select avg(sal) from emp);

--或
select e.ename 姓名,d.dname 部门名称,nvl(m.ename,'无') 上级领导,s.grade 工资等级
from emp e,dept d,emp m,salgrade s
where e.deptno = d.deptno and e.sal >
(select avg(sal) from emp) and e.deptno = d.deptno and e.mgr = m.empno(+)
and e.sal between losal and hisal;

--10.列出与"SCOTT"从事相同工作的所有员工及部门名称.
select e.ename,d.dname from emp e,dept d
where e.deptno = d.deptno and e.job =
(select job from emp where ename = 'SCOTT') and e.ename <> 'SCOTT';

--11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金.
select ename,sal from emp where sal in
(select sal from emp where deptno = 30) and deptno <> 30;

--12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金.部门名称.
select e.ename,e.sal,d.dname
from emp e,dept d
where e.deptno = d.deptno and e.sal > all (select sal from emp where deptno = 30) and e.deptno <> 30;

--13.列出在每个部门工作的员工数量,平均工资和平均服务期限.
select d.dname 部门名称,ed.c 员工数量,round(ed.a,2) 平均工资,round(ed.h,0) 服务期限
from dept d
,(select deptno,count(empno) c,avg(sal) a,avg(months_between(sysdate,hiredate)/12) h from emp group by deptno) ed
where d.deptno = ed.deptno;

--或
select d.dname 部门名称,count(e.empno) 员工数量,round(avg(e.sal),2) 平均工资,round(avg(months_between(sysdate,hiredate)/12),0) 服务期限
from emp e,dept d
where e.deptno = d.deptno group by d.dname;

--14.列出所有员工的姓名、部门名称和工资。
select e.ename,d.dname,e.sal
from emp e,dept d
where e.deptno = d.deptno;

--15.列出所有部门的详细信息和人数
select d.*,(select count(e.empno) from emp e where e.deptno = d.deptno) 人数
from dept d;
--或
select d.*,nvl(ed.c,0) 人数
from dept d,(select deptno,count(empno) c from emp group by deptno) ed
where d.deptno = ed.deptno(+);

--16.列出各种工作的最低工资及从事此工作的雇员姓名
select * from emp where sal in
(select min(sal) sal from emp group by job)

--17.列出各个部门的MANAGER(经理)的最低薪金
select deptno,min(sal) from emp where job = 'MANAGER' group by deptno;

--18.列出所有员工的年工资,按年薪从低到高排序
select ename, (sal + nvl(comm,0)) * 12 income from emp order by income;

--19.查出某个员工的上级主管,并要求出这些主管中的薪水超过3000.
select distinct m.ename 主管, m.sal 主管工资
from emp e,emp m
where e.mgr = m.empno and m.sal > 3000;

--20.求出部门名称中,带'S'字符的部门员工的工资合计、部门人数.
select d.dname 部门,count(e.sal) 工资合计,count(e.empno) 部门人数
from emp e,dept d
where e.deptno(+) = d.deptno and d.dname like '%S%' group by d.dname;

--21.给任职日期超过10年的员工加薪10%.
update emp set sal = sal + sal * 0.1 where (months_between(sysdate,hiredate)/12) > 10;


分享到:
评论

相关推荐

    Oracle常用SQL语句复习

    本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用操作,帮助读者巩固和提升Oracle数据库操作技能。 1. **数据查询基础** - `SELECT`语句是SQL中最基本的查询命令,用于从一个或多...

    Oracle日期函数练习

    Oracle 日期函数是 Oracle 数据库中的一组功能强大且广泛使用的函数,它们可以对日期进行各种操作和计算,本次练习涵盖了 Oracle 中常用的日期函数,包括获取当前系统时间、对日期的月进行加减、获取给定日期所在月...

    oracle常用经典sql查询.

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL语法丰富多样,支持复杂的数据操作和管理。本资料主要聚焦在Oracle中的经典SQL查询,对于初学者来说,掌握这些查询技巧将极大提升数据库操作效率。 一...

    oracle数据库+复习

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语法和特性来管理数据。在复习Oracle数据库的相关知识时,我们可以从以下几个方面入手: 1. SQL命令:SQL是Structured Query Language的缩写,...

    Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip

    本资源“Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip”提供了全面的学习材料,旨在帮助初学者和求职者提升在Oracle数据库中的SQL查询和存储过程编写技能。 SQL...

    Oracle数据库常用语句实例和经典面试题总结

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL语法丰富多样,对于数据库管理员和开发人员来说,掌握Oracle SQL语句至关重要。这份资料是关于Oracle数据库常用语句的实例和经典面试题的总结,旨在...

    韩顺平Oracle教学笔记.docx

    本笔记是韩顺平Oracle数据库教程的全部笔记,从头到尾,感觉对于Oracle的入门和复习很有帮助,希望能够帮助那些想要学习Oracle的朋友或者复习Oracle知识的朋友。 知识点: 1. Oracle基本语法: SQL语句是Oracle...

    魔乐科技 李兴华老师Oracle PDF

    首先,我们来看"SQL语法练习(一).pdf",这个文件主要围绕SQL语言的基础语法进行讲解。SQL(Structured Query Language)是关系型数据库管理系统的标准语言,用于数据查询、插入、更新和删除等操作。此部分可能涵盖...

    oracle实用笔记 命令 文档 pdf

    1. **Oracle SQL语法**:SQL(Structured Query Language)是用于管理和操作数据库的标准语言。在Oracle中,SQL用于创建、修改和查询表,以及执行各种数据操作任务。例如,`CREATE TABLE`用于创建新表,`ALTER TABLE...

    oracle复习笔记02

    根据提供的Oracle复习笔记内容,我们可以总结出以下详细的Oracle知识点: ### 1. 使用 DISTINCT 进行去重查询 - **语法**: `SELECT DISTINCT column_name FROM table_name;` - **示例**: `SELECT DISTINCT xx FROM...

    oracle代码

    11. TOAD、SQL Developer:这些是常用的Oracle数据库管理工具,可以方便地执行SQL查询、管理对象、导入导出数据等。 12. 日志和备份:Oracle的日志系统(如Redo Logs和Archivelogs)用于保证数据一致性,而RMAN...

    Oracle 11g foundamental chapter 1

    - **SQL标准**:SQL-2003是当前的SQL标准,规定了SQL语言的语法和功能。 - **Oracle的SQL实现**:Oracle的SQL实现通常被认为是符合SQL标准的,尽管可能存在一些差异或扩展功能。 ##### 1.04 使用客户端工具(Use ...

    常用经典SQL语句大全

    在IT领域,SQL(Structured Query ...通过不断的练习和应用,可以提高处理和分析数据的效率。在实际工作中,根据具体需求,还可以学习更高级的SQL技巧,如窗口函数、分区等,进一步提升数据库操作的灵活性和效率。

    oracle基础练习.docx

    本文将深入探讨Oracle的基础概念和一些常用的操作。 首先,Oracle数据库是存储数据的仓库,如标题中提到的“XE”或“ORCL”,它们是全局数据库的实例。数据库内部通常包含多个表空间,表空间是由一个或多个数据文件...

    ORACLE_SQL的应用程序.rar_oracle

    压缩包内的“ORACLE.txt”可能是关于Oracle SQL语法和使用示例的文档,而“www.pudn.com.txt”可能是从PUDN网站下载的资源,可能包含额外的学习材料或练习题。通过研究这些文件,可以进一步深化对Oracle SQL的理解和...

    oracle常用命令

    ### Oracle常用命令详解 #### 一、数据操纵语言(DML) ##### 1. INSERT (插入记录) **命令格式:** ```sql INSERT INTO 表名 [(列名1, 列名2, ...)] VALUES (值1, 值2, ...); ``` **示例:** ```sql INSERT INTO...

    Oracle经典培训教程

    3. **Oracle客户端工具**:这部分介绍Oracle常用的客户端工具,如SQL*Plus、SQL Developer等,用于数据库的连接、查询、数据管理。这些工具的功能、使用方法和基本操作将在此部分进行详述。 4. **Oracle服务**:这...

    数据库学习资料(oracle)

    5. **Oracle总结.doc**:这可能是某位专家或讲师的个人笔记,包含了对Oracle数据库关键特性和实践的总结,对于复习和巩固学习成果非常有帮助。 6. **ORACLE数据库表空间需求估算(杨云志).doc**:表空间是Oracle...

Global site tag (gtag.js) - Google Analytics