Oracle修炼路程--查询习题

从手机到自动驾驶:MIPI-CSI2协议演进史与车规级改造要点 本文追溯了MIPI-CSI2协议从智能手机摄像头到自动驾驶核心传感器的演进历程。重点剖析了该协议在车规级改造中面临的严苛挑战,包括物理层稳定性、EMC防护、功能安全与数据可靠性等关键要点,并探讨了其在多传感器融合与高带宽实时传输中的工程实践。 阅读详情

第一题 :查询所有员工的年工资、所在部门的名称,按年薪从低往高排序;

SQL> select (sal*12+nvl(comm,0)) 年工资,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno order by 年工资 asc;

    年工资 部门名称
---------- --------------
     14400 RESEARCH
     16200 SALES
     18000 RESEARCH
     20300 SALES
     20400 ACCOUNTING
     21200 OPERATIONS
     22800 SALES
     23400 RESEARCH
     24300 SALES
     40800 RESEARCH
     40800 RESEARCH
     48600 ACCOUNTING
     53400 SALES
     54900 RESEARCH
     84000 ACCOUNTING

已选择15行。

第二题 :查询所有员工的编号、姓名,及其上级领导编号、姓名,显示结果按领导的年薪降序;

SQL> select e.empno 员工编号,e.ename 员工姓名,d.empno 领导编号,d.ename 领导姓名 from emp e,emp d where e.mgr=d.empno(+) order by d.sal*12+nvl(d.comm,
0) desc;

  员工编号 员工姓名     领导编号 领导姓名
---------- ---------- ---------- ----------
      7839 KING
      7782 CLARK            7839 KING
      7698 BLAKE            7839 KING
      7566 JONES            7839 KING
      7902 FORD             7566 JONES
      7788 SCOTT            7566 JONES
      7521 WARD             7698 BLAKE
      7654 MARTIN           7698 BLAKE
      7844 TURNER           7698 BLAKE
      7900 JAMES            7698 BLAKE
      7499 ALLEN            7698 BLAKE
      7934 MILLER           7782 CLARK
      7369 SMITH            7902 FORD
      7876 ADAMS            7788 SCOTT
      5741 QIN_JIALI        7654 MARTIN

已选择15行。

第三题 :查询非销售人员:工作名称,以及从事同一工作员工的月工资之和,要求月工资之和大于5000,输出结果按月工资之和降序排列;

SQL> select job,sum(sal) from emp where job<> 'SALESMAN' group by job having sum(sal)>5000 order by sum(sal) desc;

JOB         SUM(SAL)
--------- ----------
MANAGER        13075
CLERK           7650
PRESIDENT       7000
ANALYST         6800

第四题 :查询所有领取奖金和不领取奖金的员工人数、平均工资

SQL> select count(*),avg(sal) from emp where comm is not null and comm>0
  2  union
  3  select count(*),avg(sal) from emp where comm is null or comm=0;

  COUNT(*)   AVG(SAL)
---------- ----------
         4       1800
        11 3138.63636

本题涉及集合运算:
前提:各个集合的列数、类型必须一致。

union(并集):返回各个查询的所有记录,不包括重复记录。
unionall(并集):返回各个查询的所有记录,包括重复记录。
intersect(交集):返回两个查询的共有的记录。
minus(补集):返回包含在第一个查询中,但不包含在第二个查询中的记录。

–报表:查询总工资、各个部门的总工资、各个部门中各个工作的总工资;

各个部门中各个工作的总工资:

SQL> select deptno,job,sum(sal) from emp group by deptno,job;

    DEPTNO JOB         SUM(SAL)
---------- --------- ----------
        20 CLERK           4600
        30 SALESMAN        5550
        20 MANAGER         4575
        30 CLERK           1350
        10 PRESIDENT       7000
        40 SALESMAN        1650
        30 MANAGER         4450
        10 CLERK           1700
        10 MANAGER         4050
        20 ANALYST         6800

已选择10行。

各个部门的总工资

SQL> select deptno,NULL,sum(sal) from emp group by deptno;

    DEPTNO N   SUM(SAL)
---------- - ----------
        30        11350
        20        15975
        40         1650
        10        12750


查询总工资:

SQL> select NULL,NULL,sum(sal) from emp;

N N   SUM(SAL)
- - ----------
         41725

求并集:

SQL> select deptno,job,sum(sal) from emp group by deptno,job
  2  union
  3  select deptno,NULL,sum(sal) from emp group by deptno
  4  union
  5  select NULL,NULL,sum(sal) from emp;

    DEPTNO JOB         SUM(SAL)
---------- --------- ----------
        10 CLERK           1700
        10 MANAGER         4050
        10 PRESIDENT       7000
        10                12750
        20 ANALYST         6800
        20 CLERK           4600
        20 MANAGER         4575
        20                15975
        30 CLERK           1350
        30 MANAGER         4450
        30 SALESMAN        5550
        30                11350
        40 SALESMAN        1650
        40                 1650
                          41725

已选择15行。

增强group by:rollup()函数

用法:如果是group by rollup(A, B, C)
首先,对(A、B、C)进行group by
其次,对(A、B)进行group by
最后,对(A)进行GROUP BY

SQL> select deptno,job,sum(sal) from emp group by rollup(deptno,job);

    DEPTNO JOB         SUM(SAL)
---------- --------- ----------
        10 CLERK           1700
        10 MANAGER         4050
        10 PRESIDENT       7000
        10                12750
        20 CLERK           4600
        20 ANALYST         6800
        20 MANAGER         4575
        20                15975
        30 CLERK           1350
        30 MANAGER         4450
        30 SALESMAN        5550
        30                11350
        40 SALESMAN        1650
        40                 1650
                          41725

已选择15行。

第五题 :查询每种工作的最低工资,以及领取该工资的员工姓名。

SQL> select e.ename,d.minsal,e.job from emp e,(select min(sal) minsal,job from emp group by job) d where d.minsal=e.sal and d.job=e.job;

ENAME          MINSAL JOB
---------- ---------- ---------
SMITH            1200 CLERK
WARD             1650 SALESMAN
MARTIN           1650 SALESMAN
CLARK            4050 MANAGER
SCOTT            3400 ANALYST
KING             7000 PRESIDENT
FORD             3400 ANALYST

已选择7行。

第六题 :查询出工资不超过2500的人数最多的部门名称;

SQL> select d.dname,d.deptno from dept d,emp e where d.deptno=e.deptno and e.sal<=2500 group by d.deptno,d.dname having count(*)=(select max(count(*))
 from emp where sal<=2500 group by deptno);

DNAME              DEPTNO
-------------- ----------
SALES                  30

–难度系数比较高;
第七题 :查询出管理员工人数最多的人的名字和他管理的人的名字;

分析过程:

1 每个领导管理的人数:

SQL> select mgr,count(*) from emp group by mgr;

       MGR   COUNT(*)
---------- ----------
      7839          3
                    1
      7782          1
      7698          5
      7902          1
      7654          1
      7566          2
      7788          1

已选择8行。

2 所有领导中,管理人数最多是多少?

SQL> select max(cn) from (select mgr,count(*) cn from emp group by mgr);

   MAX(CN)
----------
         5

3 查询出管理人数最多的领导编号

SQL> select mgr from emp group by mgr having count(*)=(select max(cn) from (select mgr,count(*) cn from emp group by mgr));

       MGR
----------
      7698

4 根据领导编号,查询领导名字;

SQL> select d.ename,e.ename from emp e,emp d where e.deptno=d.deptno and d.empno=(select mgr from emp group by mgr having count(*)=(select max(cn) fro
m (select mgr,count(*) cn from emp group by mgr))) ;

ENAME      ENAME
---------- ----------
BLAKE      ALLEN
BLAKE      WARD
BLAKE      BLAKE
BLAKE      TURNER
BLAKE      JAMES

第八题: 统计各个年份的入职人数,以及总入职人数;

本题涉及到了decode函数:
格式:decode(条件,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值);
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
…
ELSIF 条件=值n THEN
RETURN(翻译值n)

ELSE
RETURN(缺省值)
END IF

SQL> select count(*) 总人数,sum(decode(to_char(hiredate,'yyyy'),1980,1,0)) "1980",sum(decode(to_char(hiredate,'yyyy'),1987,1,0)) "1987",
  2  sum(decode(to_char(hiredate,'yyyy'),1982,1,0)) "1982",sum(decode(to_char(hiredate,'yyyy'),1985,1,0)) "1985",
  3  sum(decode(to_char(hiredate,'yyyy'),1981,1,0)) "1981" from emp;

    总人数       1980       1987       1982       1985       1981
---------- ---------- ---------- ---------- ---------- ----------
        15          1          2          1          1         10
Python爬虫实战:如何爬取京东商品评论数据 在本文中,我们介绍了如何使用 Python 爬虫技术爬取京东商品的评论数据。首先,我们分析了京东商品评论的 API 接口和 JSON 数据结构,然后编写了爬虫程序来抓取评论数据,并将数据保存到 CSV 文件中。接着,我们进行了一些基本的数据分析,包括评分分布和简单的情感分析。爬取京东商品评论的数据可以为电商分析、情感分析等提供有价值的信息。你可以在此基础上进行更深入的分析,挖掘更多的商业价值。希望本篇教程能够帮助你了解如何利用 Python 进行电商数据的爬取和分析! 阅读详情

相关推荐

AS5600磁编码器选型与安装避坑指南:磁铁形状、间隙距离到底怎么选?(附实测数据)

本文详细解析了AS5600磁编码器的选型与安装要点,包括磁铁形状、间隙距离等关键参数的选择,并附有实测数据支持。特别针对Arduino和I2C接口的应用场景,提供了硬件选型和机械安装的实用指南,帮助开发者避免常见陷阱,提升系统精度和稳定性。

weixin_27038245的博客 290

数据库中的分组函数+练习题

一.常用的分组函数1.统计数量 count(*) 2.求平均函数 Avg() 3.最大值max() 4.最小值min() 5.总数 sum()二.特殊的分组函数1.group by:按什么字段分组 2.having :对分好的组再次条件筛选(一般对分组函数筛选) 3.order by +字段 desc:按字段降序排列,默认升序ASC排列 4.where :单行筛选条件 注意:

a925763055的博客 3140

RDMA学习笔记-IB五层网络协议和报文结构

Reference InfiniBand Architecture Specification Volume 1, Release 1.3 文章目录IBA 网络协议分层1.链路层1.1 LRH1.2 ICRC1.3 VCRC2.网络层(GRH)3.传输层3.1 BTH3.2 extended transport header4. 报文结构4.1 send request4.2 RDMA Write request4.3 RDMA Read request4.4 ACK4.5 Atomic operatio

u014114310的博客 9476

SQL语句的基础小练习

1 分组统计各部门下工资>500 的员工的平均工资、select avg(sal) from emp where sal>500 group by deptno; 2 统计各部门下平均工资大于 500 的部门select deptno,avg(sal) from emp group by deptno having avg(sal)>500; 3 算出部门 30 中得到最多奖...

medaline1028的博客 430

LM Studio Bionic:本地AI智能体从部署到实战完整指南

AI智能体作为能够自主规划、执行多步任务的人工智能系统,其核心原理在于结合大语言模型的推理能力与工具调用机制。通过状态保持和任务分解算法,智能体实现了从单次问答到持续协作的技术跃迁。在工程实践中,这种架构显著降低了复杂任务自动化的门槛,特别适用于数据敏感场景和定制化需求。以Tesla V100等专业硬件为例,本地部署能充分发挥其大显存优势,支持更高精度的模型量化格式。在实际应用层面,智能体可无缝集成到代码审查、文档生成等开发工作流中,而LM Studio Bionic通过统一界面整合了模型服务、任务规划器等

weixin_29053695的博客 662

STM32 上 FreeRTOS 的启动与任务调度详解

4. SysTick定时器:FreeRTOS启动调度器后,会接管STM32的SysTick定时器,用于生成系统节拍,因此不要在HAL库中重复配置SysTick(比如HAL_Init()中已配置,无需再手动调用SysTick_Config()),否则会导致系统节拍异常,任务延迟不准。2. 任务栈大小需按需配置,不是越大越好(浪费RAM),也不能太小(会导致栈溢出),比如简单的传感器读取任务,1024字(4096字节)足够,复杂任务(比如串口接收+数据解析)可调整为2048字。

qq_40170041的博客 868

oracle 查询出每个部门工资最低的员工【每个部门可能有多个最低的工资员工】

SELECT * FROM (SELECT t.*, rank() over(partition by t.deptno order by t.sal) as num2 FROM emp t) ss where 1 = 1 and ss.num2 = '1'  

iilegend的博客 4803

YOLOv8/v9 遥感图像目标检测实战指南:建筑物检测与变化监测

遥感图像在城市规划、灾害评估、农业监管等领域应用广泛,但传统目标检测方法存在效率低、精度不足、难以适配遥感图像大尺寸、多尺度目标等问题。本文以“建筑物检测与变化监测”为核心,基于DOTA、NWPU VHR-10等公开数据集,系统讲解YOLOv8/v9在遥感图像中的实战流程。从数据获取、格式转换、模型训练优化,到大图切片推理、建筑物变化监测,全程提供可复现的代码与参数配置。通过针对性优化(旋转增强、切片推理等),模型在NWPU VHR-10数据集上mAP50达0.85以上,可适配卫星影像、无人机航拍等多场景

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 520

Mysql练习题:Part 3

一、列出最低薪金大于 1500 的各种工作及从事此工作的全部雇员人数 查找最低薪资大于1500的工作,再对过滤出来的这些job计数 二、列出在部门"SALES"工作的员工的姓名,假定不知道销售部的部门编号 第一步:由于不知道部门编号,所以通过dname去查编号 第二步:通过编号去查姓名 三、列出薪资高于公司平均薪资的所有员工,所在部门,上级领导,雇员的工资等级 ...

qq_32833675的博客 1793

vue-vben-admin 打包编译报错Failed to resolve entry for package “@vben-core/design“ 的解决方法

如果你在你是不是在 apps/子目录下执行了 build?# 项目根目录 pnpm build而不是在下面单独打包。这个问题本身不复杂,但非常容易被误导去“怀疑依赖、怀疑配置、怀疑人生”。实际上,只要理解vue-vben-admin 是 monorepo 架构,很多类似问题都会迎刃而解。如果你后面还遇到 vben-admin 的构建、部署、权限或性能相关问题,这一套思路都很有用。希望这篇记录,能帮你节省至少半小时的排坑时间。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 424

基于 ESP32 的智慧图书馆图书定位与借阅管理系统

本文设计的基于 ESP32 的智慧图书馆图书定位与借阅管理系统,以低成本、模块化、易部署为核心优势,融合 UWB 精准定位、RFID 自动识别、WiFi 无线通信技术,解决了传统图书馆的痛点问题。

weixin_42300449的博客 99

oracle中emp中查询经典

常用查询案例

Galdys的专栏 2495

MOS五类漏电流与优化策略

分析了五种主要漏电流机制:1)反偏结泄漏,由PN结热激发和隧

硬核科技 445

Oracle修炼路程--基本查询

一 、 范围查询 --between.....and用法:闭区间 SQL> select *from emp where hiredate between '1981-02-22' and '1982-01-23'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ...

Python_Newer的博客 167

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Oracle修炼路程--分页查询

一 TOP-N问题 --取出工资最高的5五名员工信息; --第一步:首选对员工信息按照sal进行降序; SQL> select *from emp order by sal desc; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -...

Python_Newer的博客 419

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Oracle修炼路程--子查询

子查询可以出现的位置: where\select\having\from的后面; 不能出现在group by 后面; 1)select后面:必须是单行值; SQL> select empno,ename,(select mgr from emp) from emp; select empno,ename,(select mgr from emp) from emp ...

Python_Newer的博客 150

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Oracle修炼路程--多表查询

一 交叉连接(笛卡尔积) 概念:对于多表查询中不指定连接条件,就会导致将一个表中的所有行都连接到另外一个表中的所有行上。 即所有情况的组合。 此连接使用的不是很多。作为了解。 SQL> select *from emp,dept; EMPNO ENAME JOB MGR HIREDATE SAL COMM...

Python_Newer的博客 206

Oracle修炼路程--伪列rowid及rownum

**伪列概念:**类似于表中的列,但是不存在任何表中,可以查询,不可增加、修改或者删除。 一 rownum ronum: 1 逻辑伪列:比如1 2 3 4 5 6 。。 SQL> select rownum,e.* from emp e; ROWNUM EMPNO ENAME JOB MGR HIREDATE ...

Python_Newer的博客 249

Oracle修炼路程--闪回技术

oracle–闪回操作 **闪回概念:**当发生逻辑错误时,从闪回恢复区中取出在发生逻辑错误之前的数据,并进行恢复。 闪回作用: 1 撤销已经提交的事务; 2 恢复被删除的表格; 3 获取表上的历史记录信息; 闪回分类: 1 闪回表中的数据; 2 闪回删除的表; 3 闪回事务查询; 4 闪回数据库; 5 闪回归档日志; 下面阐述每一类闪回技术: 一 闪回表中的数据 实际上是将表中的数据快速恢...

Python_Newer的博客 230

Oracle修炼路程--视图

视图概念: 视图属于数据库对象(包括表、视图、序列、索引、同义词、触发器)之一, 视图是一个虚表,建立在表的基础之上,可以来自单个表或者多个表。 视图创建 创建视图的语法: create view myview as select 。。。from。。。emp with check option; --举例创建视图myview SQL> create view myview as select...

Python_Newer的博客 290

Oracle修炼路程--数据字典

概念: 数据字典是oracle数据库最重要的组成部分;它是由表和视图组成,记录了数据库的系统信息;数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的! oracle数据字典通常是在创建和安装数据库时被创建的,是oracle系统工作的基础。没有数据字典的支持,oracle数据库系统就不能进行任何工作。 分类 1 静态数据字典表 2 静态数据字典视图 3 ...

Python_Newer的博客 260

Oracle修炼路程--索引

概念: 类似于书的目录,通过索引可以快速定位; 类型: 默认B树索引(默认) 位图索引; 创建: create index 索引名(列名,。。) 使用条件: 数据集中的列(主键列),经常在where中使用的列,数据量比较大; 删除索引 drop index 索引名 转载: https://blog.youkuaiyun.com/pang040328/article/details/4164874 作用 最...

Python_Newer的博客 187

Oracle修炼路程--日期函数及转换函数

一 日期函数 a) sysdate:获取当前时间 SQL> select sysdate from dual; SYSDATE -------------- 13-4月 -20 SQL> select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; SYSDATE TO_CHAR(SYSD...

Python_Newer的博客 257

Oracle修炼路程--PL/SQL之例外

概念: 一种PL/SQL标识符,它用于处理PL/SQL程序的运行错误。 类型 一 系统例外: 1 预定义例外:用于处理常见的Oracle错误 2 非预定义例外:用于处理预定义例外所不能处理的Oracle错误 no_data_found: 没有找到数据,报错; too_many_rows:行数太多,报错; zero_divide:被0整除,报错; values_errors: 算术或者转换错误;...

Python_Newer的博客 229

Oracle修炼路程--事务操作以及隔离级别

事务概念 作为单个逻辑工作单元执行的一系列操作。 比如张三向李四转账1000,那么张三钱数-1000,而李四+1000; 事务特性:ACID Atomicity原子性:要么都成功,要么都失败; Consistency一致性:事务执行前后,总量保持一致; Isolation隔离性:各个事务并发执行时,彼此独立; Durability持久性:持久化操作。 事务的生命周期: MySQL:自动提交; Or...

Python_Newer的博客 233

Oracle修炼路程--通用函数

简单介绍一下通用函数: 一、nvl(m,n): 若m为null,则返回n; SQL> select nvl(null,4) from dual; NVL(NULL,4) ----------- 4 若m不为null,则返回m SQL> select nvl(3,null) from dual; NVL(3,NULL) ----------- ...

Python_Newer的博客 154
上一篇: Oracle修炼路程--子查询
下一篇: Oracle修炼路程--伪列rowid及rownum
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值