经典练习题–【高级查询】

今天我分享的是关于Oracle高级查询的经典练习题
–1、查询emp表中的所有信息
select * from emp

–2、显示emp表的雇员名称和工资。
select ENAME,SAL from emp

–3、查询emp表中部门编号为20的并且sal(工资)大于3000的所有员工信息
select *from emp where deptno = 20 and sal > 3000;

–4、查询emp表中部门编号为20的或者sal(工资)大于3000的所有员工信息
select *from emp where deptno = 20 or sal > 3000;

–5、使用between and 查询工资在2000和4000之间的员工(用and 重新实现)
select *from emp where sal between 2000 and 3000;

–6、使用in 查询 部门编号10,20的所有员工
select * from emp where deptno in(10,20);

–7、使用like查询所有名字中包括 W的员工信息
select * from emp where ename like ‘%W%’;

–8、使用like查询所有员工名字中第二子字母为W的员工信息
select * from emp where ename like ‘_W%’;

–9、查询所有员工信息并按照部门编号和工资进行排序
select * from emp order by empno,sal desc;

–10、显示雇员工资上浮20%的结果。
select ename,sal*1.2 from emp

–11、显示EMP表的雇员名称以及工资和津贴的和。
select * from emp;
select ename,sal+nvl(comm,0) from emp;

–12、在查询中使用列别名。特殊的别名如别名中有空格
select ename"this ename" from emp;

–13、显示DEPT表的内容,使用别名将表头转换成中文显示。
select deptno as 部门编号 , dname as 部门名称,loc as 所在地址 from dept;

–14、显示DEPT表的内容,按以下的形式:部门ACCOUNTING所在的城市为NEW YORK
select dname|| ‘所在的城市’||loc from dept;

–15、使用DISTINCT消除重复行显示。显示emp表中的的职位
select distinct job from emp;

–16、查询雇员姓名和工资,并按工资从小到大排序。
select ename,sal from emp order by sal desc;

–17、查询雇员姓名和雇佣日期,并按雇佣日期排序,后雇佣的先显示。
select ename,hiredata from emp order by hiredate desc;

–18、查询雇员信息,先按部门从小到大排序,再按雇佣时间的先后排序。
select * from emp order by deptno asc,hiredate asc;

–19、按工资和工作月份的乘积排序。
select sal*extract(month from(hiredate))a from emp order by a;

–20、显示职务为“SALESMAN”的雇员的姓名、职务和工资。
select * from emp;
select ename,job,sal from emp where job=‘SALESMAN’;

–21、显示工资大于等于3000的雇员姓名、职务和工资。
select ename,job,sal from emp where sal=3000 and sal>3000;

–22、显示1982年以后雇佣的雇员姓名和雇佣时间。
select ename,hiredate((SYSDATE-hiredate)/365) from emp where hiredate>Tdate(1982,‘yy’);

–23、显示部门编号为10的雇员姓名和雇佣时间
select ename,to_char(hiredate,‘YYYY-MM-DD’) from emp where deptno =10;

–24、显示工资在1000~2000之间(不包括1000和2000)的雇员信息。
select * from emp where sal>2000 and sal<1000;

–25、显示部门10中工资大于1500的雇员。
select * from emp where deptno=10 and sal>1500;

–26、显示职务为CLERK或MANAGER的雇员信息。
select * from emp where job=‘CLERK’ or job=‘MANAGER’;

–27、显示部门10以外的其他部门的雇员。
select * from emp where deptno !=10;

–28、显示部门10和部门20中工资小于1500的雇员。
select * from emp where sal<1500 and deptno in(10,20);

–29、显示经理编号没有填写的雇员。
select * from emp where mgr is null;

–30、如果不知道表的字段内容是大写还是小写,可以转换后比较。
select upper(ename) from emp;
select lower(enme)from emp;

–31、显示名称以“W”开头的雇员,并将名称转换成以大写开头。
select initcap(ename) from emp where ename like ‘W%’;

–32、显示雇员名称中包含“S”的雇员名称及名称长度。
select ename ,length(ename) from emp where ename like ‘%S%’;

–33、显示部门表中部门和所在城市列表,中间以下划线“”连接,城市名转换成以大写字母开头。
select dname||’
’||initcap(loc) from dept;

–34、返回系统的当前日期
select to_char(sysdate,‘YYYY-MM-DD’) from dual;

–35、返回2003年2月的最后一天。
select last_day(Tdate(200302,‘YYYYMM’)) from dual;

–36、假定当前的系统日期是2003年2月6日,求再过1000天的日期。
select to_date(20030206,‘YYYYMMDD’)+1000 from dual;

–37、假定当前的系统日期是2003年2月6日,显示部门10雇员的雇佣天数。
select to_date(20030206,‘YYYYMMDD’)-hiredate from emp where detpno=10;

–38、显示雇员名称和雇佣的星期数
select floor((sysdate - hiredate)/7) from emp;

–39、显示从本年1月1日开始到现在经过的天数(当前时间取SYSDATE的值)。
select sysdate - to_date(concat(extract(year from (sysdate)),‘0101’),‘YYYYMMDD’) from dual;

–40、将日期显示转换成中文的年月日。
select to_char(sysdate,‘YYYY’)||‘年’||to_char(sysdate,‘MM’)||‘月’||to_char(sysdate,‘DD’)||‘日’ from dual;

–41、将雇佣日期转换成字符串并按新格式显示。(17 12月 1980)
select to_char(hiredate,‘DD MM YYYY’) from emp;

–42、使用nvl函数转换空值。(如果是数值转换成0 字符转换为 空)
select nvl(comm,0) from emp;

–1、.在emp表中查询出员工的工资,并计算应交税款:
–如果工资小于1000,税率为0,
–如果工资大于等于1000并小于2000,税率为10%,
–如果工资大于等于2000并小于3000,税率为15%,
–如果工资大于等于3000,税率为20%。(使用case)
select sal ,(
case
when sal < 1000 then 0
when sal < 2000 then 10
when sal < 3000 then 15
else 20
end
)from emp;

–2、显示雇员的名称和所在的部门的编号和名称。
select emp.ename,dept.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno;

–3、显示工资大于3000的雇员的名称、工资和所在的部门名称。
select emp.ename,emp.sal,dept.dname from emp,dept where emp.deptno=dept.deptno and emp.sal>3000;

–4、显示雇员的名称、工资和所在的部门名称及没有属于任何部门的雇员。
select emp.ename ,emp.sal ,dept.dname from emp left join dept on emp.deptno=dept.deptno;
如有错误请及时提出,我会及时更改。

oracle经典练习题--【高级查询】相关推荐

  1. Python ORM之SQLAlchemy 数据库连接引擎实现Mysql、PostgreSQL、Oracle连接以及高级查询的相关实例

    1 环境 SQLAlchemy 2.0.7 PyMySQL 1.0.2 Python 3.8.16 2 背景 SQLAlchemy 工具 实现多种数据库连接支持 MetaData.automap_ba ...

  2. Oracle数据库——SQL高级查询

    一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所 ...

  3. 查看oracle数据库启动状态,Oracle数据库的状态查询

    1 状态查询 启动状态 SQL语句 结果 nomount select status from v$instance; STARTED select open_mode from v$database ...

  4. oracle 游标查询数据库,Oracle数据库使用游标查询结果集所有数据

    --Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2(200):=''; --表名 myTableRowComment NVARCHAR2(200): ...

  5. oracle游标的说法,oracle游标练习题.doc

    oracle游标练习题 oracle游标练习题 当查询返回结果超过一行时,就需要一个显式游标,此时用户不能使用select into语句.PL/SQL管理隐式游标,当查询开始时隐式游标打开,查询结束时 ...

  6. oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...

    SQL查询操作:增删改查 一.SQL操作符 算术操作符 + - * / 比较操作符 = != < > <= >= BETWEEN--AND IN LINK IS NULL 逻辑 ...

  7. oracle高级查询案例,oracle高级查询(实例基于scott用户四张表)

    oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...

  8. Oracle入门(十三C)之高级查询(下)

    上章:Oracle入门(十三B)之高级查询(上) 四.常见组函数 SUM.AVG.COUNT.MIN.MAX 分组函数忽略null 值. 不能在WHERE 子句中使用组函数. MIN 和MAX 可用于 ...

  9. Oracle入门(十三B)之高级查询(上)

    下章:Oracle入门(十三C)之高级查询(下) 一.多表格查询 (1)定义 将两个或两个以上的表格,按照一定的关系连接起来进行查询. (2)多表格查询分类 连接查询 嵌套查询 集合查询 二.连接查询 ...

最新文章

  1. arr数组怎么取值_JS 面试之数组的几个不 low 操作
  2. 简单七步让你轻松安全迁移网站
  3. 酷狗音乐怎样复制歌词到计算机,酷狗怎么复制歌词和歌曲到mp3上
  4. 动态规划——看似dp的贪心问题最大乘积(蓝桥杯试题集)
  5. GaussDB分布式Stream执行计划详解
  6. img 显示base64_用 PySimpleGUI 做程序(7)--显示图片
  7. 卷盘商标复卷检测系统
  8. thymeleaf表达式优先级及表达式简单说明
  9. 自然语言领域中图神经网络模型(GNN)应用现状(论文)
  10. kafka+多线程实现案例+Callable
  11. solrCloud相关的管理命令
  12. 基于DFS的拓扑排序算法实现
  13. Android如何 如何关闭 DM-verity
  14. 执行 taro init myApp 报错 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1
  15. 使用Tensorflow Object Detection API进行集装箱识别并对集装箱号进行OCR识别
  16. C语言-统计单词个数
  17. 萌新记录自己刷过的题
  18. python金融趋势指标计算:布林带
  19. 获取百度地图可视区域范围的数据
  20. 初识 Vertica ,看完白皮书,我都发现了啥【文末赠书】

热门文章

  1. c语言中可以在函数内改变全局变量的值
  2. AV转USB;S-Video转USB宏晶微视频采集卡方案
  3. U-Boot、Kernel、Rootfs概述
  4. [转]Web 研发模式演变——玉伯
  5. 【python数据分析】数据建模之 PCA主成分分析
  6. 大话设计模式之爱你一万年:第十八章 行为模式:中介者模式:那些年的情书-邮局传情:2.中介者模式之邮局传情
  7. 邮件客户端 web linux,分享|开始使用 Isotope 吧,一款开源的 Web 邮件客户端
  8. Android 模仿微信读书左右对齐的文字效果
  9. 详解企业级视频会议系统的五大热门技术
  10. Mac系统磁盘空间清理让你不头疼吗?