Oracle常见sql语句练习及答案(经典题目,方便练习)
注意: 所有的题目基于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_iv_j;
dbms_output.put(v_i||’’||v_j||’=’||v_result||’ ‘);
end loop;
dbms_output.put_line(’’);
end loop;
end;
Oracle常见sql语句练习及答案(经典题目,方便练习)相关推荐
- oracle常见sql面试题,ORACLEPLSQL超经典面试题
<ORACLEPLSQL超经典面试题>由会员分享,可在线阅读,更多相关<ORACLEPLSQL超经典面试题(7页珍藏版)>请在人人文库网上搜索. 1.北京科蓝 PL/SQL 编 ...
- 经典SQL语句大全(绝对的经典)----特别好
转载自:点击打开链接 经典SQL语句大全(绝对的经典)一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database db ...
- 转:经典SQL语句大全(绝对的经典)
转:经典SQL语句大全(绝对的经典) 1.经典SQL语句大全(绝对的经典) https://www.cnblogs.com/bluedy1229/p/8992965.html 2. 3. 4.一.基础 ...
- 【大话Mysql面试】-常见SQL语句书写
[大话Mysql面试]-常见SQL语句书写 4.1 SQL语句主要分为哪几类? 数据定义语言DDL(Data Defination Language):主要为create drop alter等操作, ...
- oracle与sql语句
oracle与sql语句 数据库基础 Oracle数据库安装及访问 Oracle相关操作 创建表空间与用户 创建表 Oracle数据类型 创建表 修改表 DML语句 INSERT语句 UPDATE语句 ...
- 常见SQL语句的加锁分析
这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁.只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题.在前面的博 ...
- MYSQL死锁之路 - 常见SQL语句的加锁分析
这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁.只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题.在前面的博 ...
- 常见 SQL 语句的加锁分析
这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁.只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题.在前面的博 ...
- MYSQL解决死锁之路 - 常见 SQL 语句的加锁分析
目录 前言 一.基本的加锁规则 二.简单 SQL 的加锁分析 2.1 聚簇索引,查询命中 2.2 聚簇索引,查询未命中 2.3 二级唯一索引,查询命中 2.4 二级唯一索引,查询未命中 2.5 二级非 ...
最新文章
- 一文看懂软件测试方法和规范
- 你的目的是什么是谁指使你_电视剧《谁说我结不了婚》第25-27集剧情:魏书帮程璐搞定投资人...
- Jquery ui的dialog使用文档概述
- Acronis移动方案(三)
- VSCode配置Python开发环境
- python多态如何理解_大家对python中多态是如何理解的?
- python udp
- 编程求一个四位自然数ABCD,它乘以A后变成DCBA
- 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法
- 清理谷歌浏览器注册表_chrome注册表怎么清理_如何清理没用的chrome注册表-win7之家...
- CDH-CM资源下载!!免费!!!
- 简简单单批量安装windows主机
- vue使用高德地图显示坐标
- LaunchFaster 启动器工具 - 类似 Rolan 和音速启动的图标式快捷启动软件
- 网易2019游戏研发工程师笔试题
- 【前端面试题】01—42道常见的HTML5面试题(附答案)
- 全球隔离,生出不少坏毛病
- commander.js使用及源码分析
- 华为2018年机试练习题[java版]
- C++第一讲——Demon和Angela的魔法之旅