基本oracle语句应用

文章目录

  • 1. 字符和日期型数据应包含在单引号中
  • 2. 子查询
  • 3. 找出和经理一样工资的员工信息(经理不止一个,且工资不同)
  • 4. 上述问题的等价形式
  • 5. 返回部门最高的平均工资
  • 6.查询出每个部门的编号、名称、位置、部门人数、平均工资
  • 7. 查询行号
  • 8. 分页
  • 9.要求查询出每一位雇员的姓名、职位、雇员的直接上级领导的姓名
  • 10. 创建子表
  • 11.行号练习
  • 12.查询每个部门平均薪水的等级 部门编号,部门平均薪水,等级
    • ********************** Oracle在线练习平台****************

1. 字符和日期型数据应包含在单引号中
select job,sum(sal) from emp
where job !='SALESMAN'
group by job
having sum(sal)>5000
order by sum(sal) ;select * from emp
where sal>(select sal from emp where ename='SMITH');select * from emp
where sal>(select avg(sal) from emp );
2. 子查询
select * from emp
where job=(select job from emp where ename='ALLEN')
and sal=(select sal from emp where ename='ALLEN');
3. 找出和经理一样工资的员工信息(经理不止一个,且工资不同)
select * from emp
where sal in (select sal from emp where job='MANAGER');
4. 上述问题的等价形式
select * from emp
where sal =any(select sal from emp where job='MANAGER');
select sal from emp e right join dept d on e.deptno=e.deptno
5. 返回部门最高的平均工资
select max(avg(sal) )from emp
group by deptno;select dname,count(*),avg(e.sal)
from dept d left join emp e on d.deptno=e.deptno
group by dname;
6.查询出每个部门的编号、名称、位置、部门人数、平均工资
/*
1.问题:什么时候用多字段分组?(查询的(多个)字段位于非主表时(分组表)时)
2.多字段分组时,groupby后面的字段存在优先级,一般统计函数所在的字段优先;
*/
select d.deptno,dname,count(*),d.loc,avg(e.sal)
from dept d left join emp e on d.deptno=e.deptno
group by d.deptno,dname,loc;-- 上述问题使用子查询                               select deptno,dname,b.avgSal,loc
from dept d,(select deptno dn,avg(sal) as avgSal from emp group by deptno) b
where deptno=b.dn;
7. 查询行号
/*
3.问题:为什么用e.*而不用*?
-- * 已经代表全部,再加rownum时会出现矛盾;所以这里需要特别指定;
*/
select rownum,e.* from emp e;
-- 查询前 5 条记录
select rownum,e.* from emp e
where  rownum<6;
-- 查询 6-10 条记录
--select rownum,e.* from emp e
--where rownum between 6 and 10;
-- 上述语句会报错,原因是rownum不能同时使用>和<
-- 改进
select * from
(select rownum rm ,e.* from emp e where rownum<11) b
where b.rm>5;
8. 分页
select * from
(select rownum as rm,e.* from emp e where rownum<to_number('&endNum')) b
where b.rm > to_number('&startNum');
9.要求查询出每一位雇员的姓名、职位、雇员的直接上级领导的姓名
select e1.ename,e1.job,e2.ename
from emp e1 left join emp e2 on e1.mgr=e2.empno ;select e1.ename,e1.job,e2.ename,d.dname
from emp e1 left join emp e2 on e1.mgr=e2.empno
left join dept d on e1.deptno=d.deptno;select e1.empno,e1.sal,e1.ename,e1.job,e2.ename,d.dname,d.loc
from emp e1 left join emp e2 on e1.mgr=e2.empno
left join dept d on e1.deptno=d.deptno;
10. 创建子表
create table B as
select * from emp
where sal>=3000;
11.行号练习
-- 先取行号,再排序
select rownum,e.* from emp e order by sal desc;
12.查询每个部门平均薪水的等级 部门编号,部门平均薪水,等级
select *
from salgrade s,(select deptno,avg(sal) as 平均薪水 from emp group by deptno) t
where t.平均薪水>=s.losal and t.平均薪水<=s.hisal

********************** Oracle在线练习平台****************

牛客网数据库sql练习
leetcode


oracle:oracle学习案例(五):基础练习相关推荐

  1. linux oracle em使用,案例:五步解决linux操作系统Oracle EM乱码的问题

    天萃荷净 用户生产环境Linux系统Oracle数据库配置OEM使用时出现乱码情况 如果想以中文显示,则需要修改一些配置文件. 包括三个目录: $ORACLE_HOME/jdk/jre/lib $OR ...

  2. oracle 恢复学习 案例1 一个数据文件丢失 完全恢复数据库

    案例1 数据文件user01丢失 恢复背景: 数据库打开处于归档模式,首先备份数据文件user01.dbf,然后删除user01.dbf 关闭数据库 启动数据库 SQL> startup ORA ...

  3. Oracle学习篇章一——基础

    Oracle学习一--总体基础 一.数据库分类 1.1.数据库分类 1.2.项目中如何合理地使用数据库,可以依据如下三个方面入手 1.3.不同规模类型的数据库区别 二.Oracle概念 三.Oracl ...

  4. oracle pl sql示例,oracle PL SQL学习案例(一)

    oracle PL SQL学习案例(一) [示例1.1]  查询雇员编号为7788的雇员姓名和工资. 步骤1:用SCOTT/TIGER账户登录SQL*Plus. 步骤2:在输入区输入以下程序: /*这 ...

  5. oracle写转帐的存储过程,Oracle存储过程及块编程基础经典案例

    Oracle存储过程及块编程基础案例 pl/sql(procedure language/sql:过程语言)编程是oracle的精髓之所在.跑得慢: 提高应用程序的运行性能,提高效率. 1.作为存储过 ...

  6. Oracle DBA学习基础篇(一) Oracle体系结构 学习笔记

    这里是我通过Oracle DBA实战这本书学习的 Oracle体系结构,大部分是我对书中的内容做的总结,还有遇到不理解的知识点,通过查询资料做的整合.通过这篇博客希望可以让你对Oracle的一些内部原 ...

  7. Oracle OAF 学习小结(3)- 字段控制 的完整案例开发

    相关开发配置详见 Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发 需求概述 需求描述 要点1:页面初始化的时候,获取当前用户,并显示在界面. ...

  8. 【JAVA基础】重新系统学习Java(五)案例一

    目录 Java基础知识案例 运算符 身高遗传 红茶绿茶 外卖 if语句 手机以旧换新 三数最小 本息计算 顾客优惠 个人所得税 switch语句 加减乘除 循环语句 猪年年份 输出长方形 输出三角形 ...

  9. Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发

    开发配置 了解EBS服务器目录 $JAVA_TOP JSP中可以引用标准Java类库,也可以引用其他Java类库,客户化开发的类库统一放在$JAVA_TOP下,按目录组织.OAF开发的文件都放在这里. ...

最新文章

  1. Linux存储的基本管理
  2. 关于Silverlight安装问题之二
  3. 网易云信音视频技术落地提速,读书郎电话手表成行业先锋
  4. 6大设计原则之开闭原则
  5. android 开发 gradle 自己会容易混淆的东西
  6. linux 二进制安装mysql
  7. 系统设计与任务分配(团队作业)
  8. Hive入门学习随笔(二)
  9. Fiddler2用于手机抓包时的配置方法
  10. 基于python的单词查询
  11. (五)Excel函数应用之查询与引用函数
  12. 微分几何笔记(2) —— 曲线的参数化
  13. 网易校招内推-2023届技术类岗位
  14. 发错邮件后你知道怎么撤回邮件吗?163vip邮箱邮件撤回了解一下
  15. 【Spring Boot 2.0学习之旅-15】SpringBoot2.0响应式编程
  16. jQuery 第二篇
  17. 基于MATLAB的图像分割系统
  18. 亥姆霍兹线圈分类简介
  19. 匿名内部类会导致内存泄露
  20. 浮萍自动清理机器人——第一次下水201606

热门文章

  1. 英伟达收购交易取消后 ARM将裁员1000人
  2. 因为不想「被绿」,美国年轻人只想和 iPhone 聊天
  3. 新思科技与台积电开发基于N4P制程的最广泛IP核组合
  4. iPhone 13 Pro 成本价曝光,不到4000元
  5. 狗不理是怎样混到狗都不理的?
  6. 超56万5G用户重返4G:用户难以接受这两点
  7. 华为Mate40系列后置摄像头模组曝光:三款机型各有不同
  8. 品质生活在于细节 8月6日张朝阳“做饭直播”带货厨房好物
  9. 头部新造车扎推IPO:理想距离特斯拉还差18个蔚来
  10. 小米金融:与涉案的“山东小米金融服务外包有限公司”无关系