emp表查询练习

1 查询emp表的全部记录

  Select * from emp;

2 查询出每个雇员的编号、姓名、基本工资

  Select empno,ename,sal from emp;

3 查询出每个雇员的职位并消除重复行

  Select distinct job from emp;

4 查询出每个雇员的姓名、职位

  Select ename,job from emp;

5 要求显示每一个雇员的姓名、职位、基本年薪,并将年薪命名为income

  Select ename,job,sal*12 as income from emp;

6 由于公司的福利很高,每个月都有200元的饭食补助以及100元车费补贴,这个时候的年薪

  Select ename,job,(sal+300)*12 as年薪 from emp;

7 要求现在的数据库按照如下的格式显示:“雇员编号是:7369的雇员姓名是:SMITH,基本工资是:800,职位是:CLERK!”

  Select ‘雇员编号是: ’||empno ||’ 的雇员姓名是: ’|| ename || ‘,基本工资是: ’|| sal ||’,职位是: ’|| job || ‘!’ from emp;

8 要求查询出基本工资高于1500的所有雇员信息

  Select * from emp where sal>150

9 查询出所有职位是CLERK的雇员信息  

  Select * from emp where job=’CLERK’;

10 查询工资在1500~3000之间的全部雇员信息

  SELECT * FROM EMP WHERE SAL BETWEENT 1500 AND 3000;

  SELECT * FROM EMP WHERE SAL>=1500 AND SAL<=3000;

11 查询出职位是CLERK,或者是SALESMAN的全部信息

  SELECT * FROM EMP WHERE JOB=’CLERK’ OR JOB=’SALESMAN’;

  SELECT * FROM EMP WHERE JOB IN(‘CLERK’,’SALESMAN’);

12 查询出职位是CLERK,或者是SALESMAN的全部信息,并且要求这些雇员的工资大于1200

  SELECT * FROM EMP WHERE (JOB=’CLERK’ OR JOB=’SALESMAN’) AND SAL>1200;

  SELECT * FROM EMP WHERE JOB IN(‘CLERK’,’SALESMAN’) AND SAL>1200;

13 查询所有不是CLERK的雇员信息

  SELECT * FROM EMP WHERE JOB<>’CLERK’;

  SELECT * FROM EMP WHERE JOB!=’CLERK’;

14 要求查询在1981年雇佣的全部雇员信息(使用between and)

  SELECT * FROM EMP WHERE HIREDATE BETWEEN ’01-1月-81’ AND ’31-12月-81’;

  SELECT * FROM EMP WHERE HIREDATE BETWEEN TO_DATE(‘1981-01-01’,’YYYY-MM-DD’) AND TO_DATE(‘1981-12-31’,’YYYY-MM-DD’);

15 要求查询出所有的雇员信息,按照工资由高到低排序,如果工资相同,则按照雇佣日期由早到晚排序

  SELECT * FROM EMP ORDER BY SAL DESC,HIREDATE ASC;

16 找出奖金高于薪金的员工。

  SELECT * FROM EMP WHERE NVL(COMM,0)>SAL;

17 找出奖金高于薪金的60%的员工。

  SELECT * FROM EMP WHERE NVL(COMM,0)>SAL*0.6;

18 找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。

  SELECT * FROM EMP WHERE DEPTNO=10 AND JOB=’MANAGER’ OR DEPTNO=20 AND JOB=’CLERK’;

19 找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料。

  SELECT * FROM EMP WHERE DEPTNO=10 AND JOB=’MANAGER’ OR DEPTNO=20 AND JOB=’CLERK’ OR JOB NOT IN(‘MANAGER’,’CLERK’) AND SAL>=2000;

20 找出收取奖金的员工的不同工作。

SELECT DISTINCT JOB FROM EMP WHERE COMM IS NOT NULL;
SELECT DISTINCT JOB FROM EMP WHERE NVL(COMM,0)<>0;

21 找出没有奖金或奖金低于100的员工。

SELECT * FROM EMP WHERE COMM IS NULL OR COMM<100;

22 查询岗位(job)为MANAGER的员工的数量

SELECT JOB,COUNT(*) FROM EMP WHERE JOB=’MANAGER’ GROUP BY JOB;

SELECT COUNT(*) FROM EMP WHERE JOB=’MANAGER’;

SELECT COUNT(JOB) FROM EMP WHERE JOB=’MANAGER’;

23 统计各部门下工资大于500的员工的平均工资

SELECT DEPTNO,AVG(SAL) FROM EMP WHERE SAL>500 GROUP BY DEPTN

24 统计平均工资大于500的部门

SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO HAVING AVG(SAL)>500

25 算出部门30中得到最多奖金的员工奖金

SELECT MAX(COMM) FROM EMP WHERE DEPTNO=30;

SELECT DEPTNO,MAX(COMM) FROM EMP WHERE DEPTNO=30 GROUP BY DEPTNO;

26 算出每个职位的员工数和最低工资

SELECT JOB,COUNT(JOB),MIN(SAL) FROM EMP GROUP BY JOB;

oracle习题-emp表查询练习的更多相关文章

  1. Oracle笔记 多表查询

    Oracle笔记  多表查询   本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查 ...

  2. Oracle笔记(1)--emp表查询(1)

    (1)截取函数--TRUNC() 的用法 SELECT  TRUNC(789.652) 截取小数, TRUNC(789.652,2) 截取两位小数, TRUNC(789.652,-2) 取整 FROM ...

  3. Oracle数据库多表查询,子查询,集合运算

    记得自己要敲o~~~ select * from bonus; select * from salgrade; from dual; --笛卡尔积:两张表的乘积 select * from emp,d ...

  4. oracle 事务多表查询以及额外的用处

    /* 以下代码是对emp表进行显示宽度设置*/ col empno for 9999;col ename for a10;col job for a10;col mgr for 9999;col hi ...

  5. Oracle的多表查询

    多表查询概念: 所谓多表查询,又称表联合查询,即一条语句涉及到的表有多张,数据通过特定的连接进行联合显示. 基本语法: select column_name,.... from table1,tabl ...

  6. oracle SQL多表查询

    SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列.              1 ro ...

  7. Oracle查询优化-多表查询

    --合并结果集 --1.union all UNION ALL--单纯合并 ; --2.union UNION --将重复结果集合并 ; --------------使用命令窗口执行,查看union与 ...

  8. oracle笔记2-多表查询和子查询

    --查询出当前用户下的所有表 select table_name from user_tables; --执行顺序原则:  from  where group by  having   select  ...

  9. Oracle之多表查询

    -多表查询 1.交叉连接 select * from t_class for update; select * from t_student for update; select for update ...

随机推荐

  1. 3、变量+运算符+Scanner

    1.变量 1>开辟内存空间 int num ; 2>赋值 num = 10; 3>使用 num 1*long 类型的特殊 long num = 12L 2*float类型特殊 flo ...

  2. 莫烦pytorch学习笔记(八)——卷积神经网络(手写数字识别实现)

    莫烦视频网址 这个代码实现了预测和可视化 import os # third-party library import torch import torch.nn as nn import torch ...

  3. vue基础知识总结

    vue不支持安卓6.0以下版本,切记!!! 1.创建vue实例 var vm = new Vue({ el: '#app', //所指向的dom的id data:{ }, //与dom元素绑定的数据 ...

  4. Linux网桥端口的arp问题

    Linux的brctl addif命令可以将一个接口加入到既有的网桥中,接下来,这个接口就成了brport,属于一个从属的接口,然而你还是可以看到它的,并且可以为它添加IP地址,然后route命令会显 ...

  5. mysql 乐观判断 校验

    说下场景, 用户账户 有 100 元钱,  他执行了两个操作,  A操作发红包发了80块钱, B操作 发红包 发了 70 ,并发, 假如没有 冻结这一说法,  两个操作都是去 查询余额, 还有100 ...

  6. Mybatis-构建 SqlSessionFactory

    从 XML 中构建 SqlSessionFactory 每 一 个 MyBatis 的 应 用 程 序 都 以 一 个 SqlSessionFactory 对 象 的 实 例 为 核 心 . SqlS ...

  7. VC文件操作

    VC文件操作 重命名文件: 注意: 该操作对文件夹一样有效! CFileFind Finder; CString sOldPath = _T("D:\\tt.txt"); CStr ...

  8. 中国 SaaS 企业如何突围?这几点是关键!

    进入2019年,关于SaaS的各种言论甚嚣尘上,有人看好:“SaaS市场得大客户者得天下”,也有人唱衰:“SaaS已死,下一个”.在众说纷纭中,中国SaaS企业的成功之路迷雾重重,前期走的较早的头部S ...

  9. csp-s模拟测试b组加餐antipalindome,randomwalking,string题解

    题面:https://www.cnblogs.com/Juve/articles/11599318.html antipalindome: 打表找规律? 对于一个回文串,我们只要保证3位以内不回文即可 ...

  10. noi.openjudge 二分法求函数的零点

    二分法求函数的零点 总时间限制: 1000ms 内存限制: 65536kB 描述 有函数:f(x) = x5 - 15 * x4+ 85 * x3- 225 * x2+ 274 * x - 121 已 ...