简单查询部分sql练习题

-- 选择部门30中的全部职工
select * from emp where deptno = 30; -- 列出全部业务员(CLERK)的姓名,编号,和部门编号
select e.ename, e.empno, e.deptno from emp e where e.job = 'CLERK'; -- 找出奖金高于薪金的员工
select * from emp where comm > sal; -- 找出奖金高于薪金的60%的员工
select * from emp where comm > sal * 0.6; -- 找出部门10中全部经理(MANAGER)和部门20中全部业务员(CLERK)的具体资料
select * from emp e
where e.deptno = 10 and e.job = 'MANAGER'
or e.deptno = 20 and e.job = 'CLERK'; select * from emp e
where (e.deptno = 10 and e.job = 'MANAGER')
or (e.deptno = 20 and e.job = 'CLERK'); select * from emp e where e.deptno = 10 and e.job = 'MANAGER'
union
select * from emp e where e.deptno = 20 and e.job = 'CLERK'; -- 找出部门10中全部经理(MANAGER),部门20中全部业务员(CLERK),既不是经理又不是业务员但其薪水大于等于2000的全部员工的具体资料
select * from emp e where e.deptno = 10 and e.job = 'MANAGER'
union
select * from emp e where e.deptno = 20 and e.job = 'CLERK'
union
select * from emp e where e.sal > 2000 and e.job not in('MANAGER', 'CLERK'); -- 找出收取奖金的员工的不同工作
select distinct e.job from emp e; -- 找出不收取奖金或收取的奖金低于100的员工
select * from emp e where e.comm is null or e.comm < 100; -- 找出各月倒数第3天受雇的全部员工
select * from emp e where e.hiredate between last_day(hiredate)-3 and last_day(hiredate); -- 找出早于30年前受雇的员工
select * from emp e where (sysdate - e.hiredate)/365 > 30; -- 以首字母大写的方式显示全部员工的姓名
select initcap(ename) from emp; -- 显示正好为5个字符的员工姓名
select * from emp where length(ename) = 5; -- 显示不带有”R”的员工姓名
select * from emp where ename not like '%K%'; -- 显示全部员工姓名的前三个字符
select substr(ename, 0, 3) from emp; -- 显示全部员工的姓名,并用’a’替换全部’A’
select replace(ename, 'A', 'a') from emp; -- 显示满30年服务年限的员工姓名和受雇日期
select * from emp where (sysdate - hiredate)/365 > 30; -- 显示员工的具体资料,按姓名由大到小排序
select * from emp order by ename desc; -- 显示员工的姓名和受雇日期。依据其服务年限,将最老的员工排在最前面
select ename, hiredate from emp order by hiredate asc; -- 显示全部员工的姓名,工作和薪金,按工作降序排列,若工作同样则按薪金升序排序
select ename, job, sal from emp order by job desc, sal asc;
select ename, job, sal from emp order by 2 desc, 3; -- 显示全部员工的姓名,增加公司的年份和月份,按受雇日期所在的月排序。若月份同样。则将最早年份排在最前面
select ename, to_number(to_char(hiredate, 'yyyy')) Year, to_number(to_char(hiredate, 'mm')) from emp order by 3 desc, 2 asc; -- 显示一个月为30天的情况所员工的日薪金。忽略余数
select round(sal/30) 日薪 from emp; -- 找出在(不论什么年份)2月受聘的全部员工
select * from emp where to_number(to_char(hiredate, 'mm'))= 2; -- 对每一个员工,显示其增加公司的天数
select ename, round(sysdate - hiredate) Days from emp; -- 显示姓名中任何位置包括“A”的全部员工姓名
select * from emp where upper(ename) like '%A%'; -- 以年月日方式显示全部员工的服务年限
select ename, hiredate,
trunc(months_between(sysdate, hiredate) /12) year ,
trunc(mod(months_between(sysdate, hiredate) , 12 ) ) months ,
trunc(sysdate - add_months(hiredate,months_between(sysdate, hiredate))) day
from emp ;

简单sql部分强化练习题的更多相关文章

  1. 基于简单sql语句的sql解析原理及在大数据中的应用

    基于简单sql语句的sql解析原理及在大数据中的应用 李万鸿 老百姓呼吁打土豪分田地.共同富裕,总有一天会实现. 全面了解你所不知道的外星人和宇宙真想:http://pan.baidu.com/s/1 ...

  2. 从简单Sql探索优化之道

    从简单Sql探索优化之道 梁敬彬 2016-03-17 09:39:41 本文需要优化的语句是select count(*) from t,这简单的统计语句一出,估计不少人纳闷了,能有啥优化空间,还优 ...

  3. [数据库]简单SQL语句总结

    1.在查询结果中显示列名:a.用as关键字:select name as '姓名'   from students order by ageb.直接表示:select name '姓名'   from ...

  4. 简单SQL注入试探、二

    DVWA——简单SQL注入小记 今天我们来记录简单的盲注过程 简单的SQL injection(blind) Level:low 登陆后选择SQL Injection(Blind) 能看到这样的界面 ...

  5. 简单SQL注入试探、一

    DVWA——简单SQL注入小记 前不久刚开始接触SQL注入,今天来记录一些最近的一些收获和一些SQL注入方面的知识. 主要是基于DVWA这个开源的平台来进行练习. 废话不多说开始解题. 从简单的SQL ...

  6. 简单sql字段解析器实现参考

    用例:有一段sql语句,我们需要从中截取出所有字段部分,以便进行后续的类型推断,请给出此解析方法. 想来很简单吧,因为 sql 中的字段列表,使用方式有限,比如 a as b, a, a b... 1 ...

  7. 简单Sql语句统计每年每个月的数据,每个月为数据的每列,简单SQL练习

    有一张表,数据如下 请写出结果为以下的SQL语句. 在mysql中创建表 CREATE TABLE `aa` (  `id` int(10) NOT NULL AUTO_INCREMENT COMME ...

  8. Flask关于请求表单的粗浅应用及理解+简单SQL语句温习

    1.请求表单 请求表单的知识点是flask数据请求中很小的一部分,首先要了解一下GET和POST请求:http://www.w3school.com.cn/tags/html_ref_httpmeth ...

  9. Oracle ORDS的简单SQL配置模板

    1. 先加上简单的SQL配置模板. DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN ORDS.ENABLE_SCHEMA(p_enabled => TR ...

随机推荐

  1. SoapUI、Jmeter、Postman三种接口测试工具的比较分析——灰蓝

    前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...

  2. Java对ad操作

    转载:http://blog.csdn.net/binyao02123202/article/details/18697953

  3. 51Nod——N1118 机器人走方格

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1118 基准时间限制:1 秒 空间限制:131072 KB 分值: 0  ...

  4. Javascript和jquery事件--双击事件

    在js中和jq中对应的命名都为dblclick,ondblclick,但是ondblclick和dom元素的属性相似,可以在行内设置,也可以使用attr设置. 同时,双击事件需要关注一个问题,那就是双 ...

  5. 【】minimum

    [链接]h在这里写链接 [题意] 给两个数字a,b,每次操作可以把a+1a+1,或把a∗k 问至少多少次操作可以使得a=b. 1<=a,b<=10^18,0 <= k <= 1 ...

  6. 10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析

    4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a.fd1 = inotify_init(& ...

  7. swift项目第十天:网络请求工具类的封装

    import UIKit /* 必须先导入头文件:import AFNetworking */ import AFNetworking //MARK:-0:定义枚举:以枚举定义请求网络的get和pos ...

  8. Java中字节与对象之间的转换

    近期公司里面用到了消息队列,而正如我们知道的是消息队列之间的是通过二进制形式的.以下就分享一下java中字节与对象之间的转换. 主要是用到了ByteArrayOutputStream和ObjectOu ...

  9. c#之mysql四种带事务批量插入

    前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...

  10. [原]MFC中DIALOG(对话框)程序响应加速键(快捷键)

    [原]MFC中DIALOG(对话框)程序响应加速键(快捷键) 2014-8-6阅读266 评论0 新建一个对话框程序,项目名为Test,删除默认确定,取消和静态文本框控件.添加一个按钮,Caption ...