注意: 所有的题目基于scott账户的表来进行写SQL。

1.查询员工号为7499的员工的姓名和部门号
select ename,deptno from emp where empno=7499;

2.选择工资不在5000到12000的员工的姓名和工资
select ename ,sal from emp where sal<5000 or sal>12000;或
select ename ,sal from emp where sal not between 5000 and 12000;

3.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id 和雇用时间
select ename,job,hiredate from emp where hiredate>to_date(‘1998-02-01’,‘yyyy-mm-dd’)
and hiredate<to_date(‘1998-05-01’,‘yyyy-mm-dd’);

4.选择在20或50号部门工作的员工姓名和部门号
select ename,deptno from emp where deptno in(20,50);或
select ename,deptno from emp where deptno =20 or deptno =50

5.选择在1992年雇用的员工的姓名和雇用时间
select ename,hiredate from emp
where extract(year from hiredate) = ‘1992’;

6.选择公司中没有管理者的员工姓名及job
select ename,job from emp where mgr is null;

8.选择员工姓名的第三个字母是a的员工姓名
select ename from emp where instr(ename,‘A’)= 3;或
select ename from emp where ename like ‘__A%’;

9.选择姓名中有字母a和e的员工姓名
select ename as 姓名 from emp where instr(ename,‘A’)>0 and instr(ename,‘E’)>0; 或
select ename from emp
where ename like ‘%A%’ and ename like ‘%E%’;

10.查询员工号,姓名,工资,以及工资提高百分之20%后的结果
select empno,ename,sal,(sal+sal0.2) from emp;*

11.将员工的姓名按首字母排序,并写出姓名的长度(length)
select ename,length(ename) from emp
order by ascii(substr(ename,1,1));

12.查询各员工的姓名,并显示出各员工在公司工作的月份数
select ename,trunc(months_between(sysdate,hiredate)) from emp;

13.查询员工的姓名,以及在公司工作的月份数 (worked_month),并按月份数降序排列
select ename,trunc(months_between(sysdate,hiredate)) worked_month from emp order by worked_month desc;

14.查询公司员工工资的最大值,最小值,平均值,总和
select max(sal),min(sal),avg(sal) ,sum(sal) from emp;

15.查询各工种(job)的员工工资的最大值,最小值,平均值,总和
select max(sal),min(sal),avg(sal) ,sum(sal) from emp group by job;

16.选择各个工种(job)的员工人数
select job,count(1) from emp group by job

17.查询员工最高工资和最低工资的差距(DIFFERENCE)
select max(sal)-min(sal) difference from emp

18.查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内
select mgr,min(sal) from emp where mgr is not null
group by mgr having min(sal)>4000;

19.查询所有部门的名字,工作地点,员工数量和工资平均值.
select d.dname,d.loc,count(1),avg(sal) from dept d inner join emp e on e.deptno=d.deptno group by d.dname,d.loc;

20. 查询和scott相同部门的员工姓名和雇用日期
select ename,hiredate,deptno from emp
where deptno=(select deptno from emp where ename=‘SCOTT’);

21. 查询工资比公司平均工资高的员工的员工号,姓名和工资。
select empno,ename,sal from emp where sal>(select avg(sal) from emp);

22. 查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资
select empno,ename,sal from emp e
where sal>(select avg(sal) from emp where deptno=e.deptno);

23. 查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名
select empno,ename
from emp where deptno in(select deptno from emp
where instr(ename,‘U’)>0);


select e1.empno,e1.ename from emp e1 ,emp e2
where instr(e2.ename,‘U’,1,1) > 0 and e1.deptno=e2.deptno;

24. 查询管理者是King的员工姓名和工资
select ename,sal from emp
where mgr = (select empno from emp where ename = ‘KING’ );

25. 使用PL/SQL实现9*9的乘法口诀表
declare
v_result number;
v_i number;
v_j number;
begin
for v_i in 1…9
loop
for v_j in 1…v_i
loop
v_result:=v_i
v_j;
dbms_output.put(v_i||’’||v_j||’=’||v_result||’ ‘);
end loop;
dbms_output.put_line(’’);
end loop;
end;

Oracle常见sql语句练习及答案(经典题目,方便练习)相关推荐

  1. oracle常见sql面试题,ORACLEPLSQL超经典面试题

    <ORACLEPLSQL超经典面试题>由会员分享,可在线阅读,更多相关<ORACLEPLSQL超经典面试题(7页珍藏版)>请在人人文库网上搜索. 1.北京科蓝 PL/SQL 编 ...

  2. 经典SQL语句大全(绝对的经典)----特别好

    转载自:点击打开链接 经典SQL语句大全(绝对的经典)一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database db ...

  3. 转:经典SQL语句大全(绝对的经典)

    转:经典SQL语句大全(绝对的经典) 1.经典SQL语句大全(绝对的经典) https://www.cnblogs.com/bluedy1229/p/8992965.html 2. 3. 4.一.基础 ...

  4. 【大话Mysql面试】-常见SQL语句书写

    [大话Mysql面试]-常见SQL语句书写 4.1 SQL语句主要分为哪几类? 数据定义语言DDL(Data Defination Language):主要为create drop alter等操作, ...

  5. oracle与sql语句

    oracle与sql语句 数据库基础 Oracle数据库安装及访问 Oracle相关操作 创建表空间与用户 创建表 Oracle数据类型 创建表 修改表 DML语句 INSERT语句 UPDATE语句 ...

  6. 常见SQL语句的加锁分析

    这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁.只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题.在前面的博 ...

  7. MYSQL死锁之路 - 常见SQL语句的加锁分析

    这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁.只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题.在前面的博 ...

  8. 常见 SQL 语句的加锁分析

    这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁.只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题.在前面的博 ...

  9. MYSQL解决死锁之路 - 常见 SQL 语句的加锁分析

    目录 前言 一.基本的加锁规则 二.简单 SQL 的加锁分析 2.1 聚簇索引,查询命中 2.2 聚簇索引,查询未命中 2.3 二级唯一索引,查询命中 2.4 二级唯一索引,查询未命中 2.5 二级非 ...

最新文章

  1. 一文看懂软件测试方法和规范
  2. 你的目的是什么是谁指使你_电视剧《谁说我结不了婚》第25-27集剧情:魏书帮程璐搞定投资人...
  3. Jquery ui的dialog使用文档概述
  4. Acronis移动方案(三)
  5. VSCode配置Python开发环境
  6. python多态如何理解_大家对python中多态是如何理解的?
  7. python udp
  8. 编程求一个四位自然数ABCD,它乘以A后变成DCBA
  9. 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法
  10. 清理谷歌浏览器注册表_chrome注册表怎么清理_如何清理没用的chrome注册表-win7之家...
  11. CDH-CM资源下载!!免费!!!
  12. 简简单单批量安装windows主机
  13. vue使用高德地图显示坐标
  14. LaunchFaster 启动器工具 - 类似 Rolan 和音速启动的图标式快捷启动软件
  15. 网易2019游戏研发工程师笔试题
  16. 【前端面试题】01—42道常见的HTML5面试题(附答案)
  17. 全球隔离,生出不少坏毛病
  18. commander.js使用及源码分析
  19. 华为2018年机试练习题[java版]
  20. C++第一讲——Demon和Angela的魔法之旅

热门文章

  1. docker学习(四) 配置阿里云镜像加速器
  2. 在CloudFoundry上部署独立Java应用
  3. 为什么不建议在MySQL中使用 utf8?
  4. AI创业哪家强?6大选择给你方向!
  5. 【蝴蝶效应】【青蛙现象】【鳄鱼法则】 【鲇鱼效应】 【羊群效应】 【刺猬法则】 【手表定律】 ...
  6. 哪些大学食堂好吃?各大高校大比拼!
  7. 小队pkc++_骑士小队2人金属第一印象
  8. 中基鸿业分析投资应该注意的事项
  9. 不一样的 Python 课【王的机器出品】
  10. ggplot2的自定义调色板