oracle习题-emp表查询练习
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表查询练习的更多相关文章
- Oracle笔记 多表查询
Oracle笔记 多表查询 本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查 ...
- Oracle笔记(1)--emp表查询(1)
(1)截取函数--TRUNC() 的用法 SELECT TRUNC(789.652) 截取小数, TRUNC(789.652,2) 截取两位小数, TRUNC(789.652,-2) 取整 FROM ...
- Oracle数据库多表查询,子查询,集合运算
记得自己要敲o~~~ select * from bonus; select * from salgrade; from dual; --笛卡尔积:两张表的乘积 select * from emp,d ...
- oracle 事务多表查询以及额外的用处
/* 以下代码是对emp表进行显示宽度设置*/ col empno for 9999;col ename for a10;col job for a10;col mgr for 9999;col hi ...
- Oracle的多表查询
多表查询概念: 所谓多表查询,又称表联合查询,即一条语句涉及到的表有多张,数据通过特定的连接进行联合显示. 基本语法: select column_name,.... from table1,tabl ...
- oracle SQL多表查询
SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列. 1 ro ...
- Oracle查询优化-多表查询
--合并结果集 --1.union all UNION ALL--单纯合并 ; --2.union UNION --将重复结果集合并 ; --------------使用命令窗口执行,查看union与 ...
- oracle笔记2-多表查询和子查询
--查询出当前用户下的所有表 select table_name from user_tables; --执行顺序原则: from where group by having select ...
- Oracle之多表查询
-多表查询 1.交叉连接 select * from t_class for update; select * from t_student for update; select for update ...
随机推荐
- sql.xml大于小于号处理的方法
<if test="startTime != null and startTime != ''"> AND i_DataTime <![CDATA[ >= ...
- 修改cmd命令默认路径
未修改之前: 修改方法: 1.win+r打开运行对话框,输入 regedit 打开注册表编辑器 2.在注册表中找到:HKEY_CURRENT_USER\Software\Microsoft\Comma ...
- 深入浅出 Java Concurrency (40): 并发总结 part 4 性能与伸缩性[转]
性能与伸缩性 使用线程的一种说法是为了提高性能.多线程可以使程序充分利用闲置的资源,提高资源的利用率,同时能够并行处理任务,提高系统的响应性. 但是很显然,引入线程的同时也引入了系统的复杂性.另外系统 ...
- Python学习day01 - 计算机基础
第一天 什么是编程 语言就是用来交流的. 语言+火构成了人类的文明 Python语言用来和计算机交流 通过他和计算机交流,然后完成很多程序员想要完成的事情,就叫编程. 为什么要编程 节省劳动力,更高效 ...
- window API GetProcessId OpenProcess
函数原型: DWORD WINAPI GetProcessId( _In_ HANDLE Process ); HANDLE OpenProcess( DWORD dwDesiredAccess, / ...
- 在vue中使用pug
安装pug npm i pug pug-loader pug-cli pug-filters -D pug :安装pug pug-loader:pug的loader pug-cli:pug 编译工具 ...
- phpqrcode.php 生成二维码图片用于推广
<?php /* * PHP QR Code encoder * * This file contains MERGED version of PHP QR Code library. * It ...
- 微信小程序slider应用,可加减的slider控制
<view class="control-w "> <block wx:for="{{controls}}" wx:key="id& ...
- qq音乐网站页面切换歌手分类时不刷新
1.提交表单时会自动刷新页面(提交表单一般使用post方式提交) 2.动态加载数据时页面不会刷新,只是把页面中某个位置的内容替换掉想要的内容 3.一般在切换到不同的html页面时才会强制让你把页面刷新 ...
- 《机器学习及实践--从零开始通往Kaggle竞赛之路》
<机器学习及实践--从零开始通往Kaggle竞赛之路> 在开始说之前一个很重要的Tip:电脑至少要求是64位的,这是我的痛. 断断续续花了个把月的时间把这本书过了一遍.这是一本非常适合基于 ...