oracle数据库查询练习

男朋友智商测试大集结(一):Oracle数据库查询操作练习81题(附答案) 想要练习Oracle数据库的查询操作? 这里有81道小题供你练手!数据库中的数据已备好,在文末可以自己粘贴复制。 阅读详情
 1. 查询每个部门中入职最早的员工的姓名,职位,上司姓名 和 部门名称

     select ename,job,
          (select ename from emp where empno=e.mgr) as 上司,
          (select dname from dept where deptno=e.deptno) as 部门名称 from emp e where
          (deptno,hiredate)in
          (
           select deptno,min(hiredate) as minhiredate from emp group  by deptno
          )
    或
       select t.ename,t.job,e.ename as 上司,dname from emp e
        inner join
        (
        select ename,job,mgr,deptno
          from emp e where
          (deptno,hiredate)in
          (
           select deptno,min(hiredate) as minhiredate from emp group  by deptno
          )  
        )t on e.empno=t.mgr
        inner join dept
        on t.deptno=dept.deptno;
    
    2. 查询员工的姓名,职位,薪水,部门名称,工资等级,按入职日期升序排列
       select ename,job,sal,dname,grade from emp
       inner join dept on emp.deptno=dept.deptno
       inner join salgrade on sal between losal and hisal
       order by hiredate asc
      
    3. 对查询2的结果分页查询,每页5行取第2页的数据
      select * from
      (
       select t.*,rownum as rn from 
       (
          select ename,job,sal,dname,grade from emp
         inner join dept on emp.deptno=dept.deptno
         inner join salgrade on sal between losal and hisal
         order by hiredate asc
       )t
     )tb where rn between 5*(2-1)+1  and 5*2 ;
     
     或
     select * from
     (
       select ename,job,sal,dname,grade,row_number() over(order by hiredate asc) as rn from emp
         inner join dept on emp.deptno=dept.deptno
         inner join salgrade on sal between losal and hisal
     )t where t.rn between 6 and 10; 
     
    
      
    4. 管理人数最多的上司所在的部门名称
    select dname from dept where deptno in
    (
    select deptno from emp where empno in
    (
     select t1.mgr from
     (
      select   mgr,count(*) as cnt  from emp group by mgr
     )t1 where cnt=
     (
       select max(cnt) from
       (
        select   mgr,count(*) as cnt  from emp group by mgr
       )t
     )
     )
     )
    5  最高等级工资人数最多的部门名称和部门经理的姓名
    select dname,(select ename from emp where deptno=dept.deptno and job='MANAGER') AS 部门经理 from dept where deptno in
    (
     select deptno as cnt from
     (
       select * from emp
       inner join salgrade on emp.sal between losal and hisal
       where grade=
       (
       select max(grade) from salgrade
       )
      )t group by deptno
     having count(*) in
     (
      select max(cnt) from
      (
       select deptno,count(*) as cnt from
       (
         select * from emp
         inner join salgrade on emp.sal between losal and hisal
         where grade=
         (
         select max(grade) from salgrade
         )
        )t group by deptno
        )t1
      )
      )
    6. 1个月之内即将合同到期的员工姓名和部门名称。(入职后每满2年签订一次合同,合同期限2年)
       select ename,(select dname from dept where deptno=emp.deptno)as 部门名称 from emp
         where mod(to_number(to_char(sysdate,'yyyy'))-to_number(to_char(hiredate,'yyyy')),2)=0
           and to_date(to_char(hiredate,'mmdd'),'mmdd') between sysdate and sysdate+30;
    7. 统计每年入职的新员工数量,按年份升序
    8. 查询和smith同职同薪的员工姓名和部门名称(同一职位,同一薪水级别)
    9. 按员工工作年限对员工分类统计,
       1年以内的   
       2-3年        
       3-5年       
       5-8年        
       8年以上
       统计每种分类的人数
       select case,count(*) as 人数 from
       (
       select ename,case 
        when to_number(to_char(sysdate,'yyyy'))-to_number(to_char(hiredate,'yyyy'))<1 then '1年以内'
        when to_number(to_char(sysdate,'yyyy'))-to_number(to_char(hiredate,'yyyy'))<3 then '2-3年'
        when to_number(to_char(sysdate,'yyyy'))-to_number(to_char(hiredate,'yyyy'))<5 then '3-5年'
        when to_number(to_char(sysdate,'yyyy'))-to_number(to_char(hiredate,'yyyy'))<8 then '5-8年'
        else  '8年以上'
         end case from emp
       )t group by case;
    10.公司员工需缴纳个人所得税(工资+补贴 超出3000部分的5%,工资+补贴 低于3000不用缴纳) 查询公司的缴税员工,按缴税费用降序排列       
        select ename,(sal+nvl(comm,0)-3000)*0.05 as 缴税 from emp
          where sal+nvl(comm,0)>3000
           order by 缴税 desc
    11.查询每个部门工资最高的前三名员工的姓名 职位 工资
    select * from
    (
       select ename,job,sal,deptno,row_number() over(partition by deptno order by sal desc) as rn from emp
    ) where rn <=3;   
    12.查询比自己的上司工资高的员工的姓名和工资。 
      select * from emp e
       where sal>=
       (
          select sal from emp m where m.empno=e.mgr
       )
STM32F030F4P6 ADC多通道定时器触发DMA搬运 主函数中等待转换完成的标志位,然后打印出来。ADC回调函数中将数值赋值给变量。配置定时器1s读一次。 阅读详情

相关推荐

MTK平台高效部署Qwen2.5大模型:从转换到推理全流程解析

本文详细解析了在MTK平台上高效部署Qwen2.5大模型的全流程,涵盖从环境准备、模型转换与量化,到编译部署与上机推理。重点介绍了如何利用MTK GAI部署工具包进行模型转换和量化,以适配MTK硬件,并最终在设备上成功运行Qwen2.5模型,为边缘侧AI应用提供实践指南。

weixin_29041195的博客 509

第1章 Oracle教程

第一章 Oracle教程 简单查询语句(重点) 简单查询指的是将数据表中的全部内容查询出来进行显示,语法如下: SELECT * | 列名称 别名,列名称 别名 FROM 表名称 别名 ; 范例:查询雇员的全部信息 —— 由于此处是将所有的数据一起查询出来,那么直接编写以下语句即可: SELECT * FROM emp ; 如果现在希望只查询...

forrestzsb的专栏 502

视觉巡线小车(STM32+OpenMV)——技术总结

在现代机器人技术中,视觉巡线是一种常见的导航方式,它允许机器人通过识别和跟踪地面上的线路来自主导航。本文将总结使用STM32微控制器和OpenMV视觉模块来实现视觉巡线小车的关键技术和步骤。

weixin_66608063的博客 3078

Oracle学习 DAY_03

Oracle学习 DAY_031.自连接的概念和联系1.1 查询出员工的姓名,员工的领导姓名1.2 查询出员工姓名,员工部门名称,员工领导姓名,员工领导的部门2.子查询2.1子查询返回一个值2.2 子查询返回一个集合2.3 子查询返回一张表 **3.分页 1.自连接的概念和联系 自连接:自连接其实就是站在不同的角度上把一张表看成多张表 1.1 查询出员工的姓名,员工的领导姓名 select e1....

qq_40205337的博客 636

解锁笔记智能对话:手把手配置 Obsidian Copilot 插件与硅基流动模型

本文详细介绍了如何为Obsidian笔记软件配置Copilot插件,并接入硅基流动AI模型,从而为个人知识库添加智能对话能力。通过手把手教程,指导用户完成插件安装、API Key获取、模型配置及索引构建,最终实现基于个人笔记内容的深度语义问答,提升知识管理效率。

corn8的博客 613

【智能体评测】BrowserUse:一款超越 Anthropic Computer Use 的开源智能体

本文将全面介绍 BrowserUse 的核心功能、配置与使用方法,以及通过多场景测试评估其性能。

surfirst的博客 4099

Oracle入门学习第二天

Oracle第二天一、学习目标内连接外连接子查询exists运算符分页(重点,难点)课堂练习集合运算符递归查询二、内连接-- 内连接   -- 举例:查询员工表和部门表的记录   -- 笛卡尔积:员工表中的任意一条记录要和部门表中的每一条记录相关联   select * from emp ,dept ;   -- 避免笛卡尔积: 设置条件(从表中外键=主表主键)   select * f...

飘 370

lammps建模(电解液)opls-aa力场的基本流程

lammps建模(电解液)opls-aa力场的基本流程

syj0922的博客 2134

SQL题目1 - oracle

文章目录1. 单行子查询2. 多行子查询3. 多列子查询4. form中使用子查询伪列Rownum分页-Rownum5. 总练习 1. 单行子查询 查询入职日期最早的员工姓名,入职日期 select ename, hiredate from emp where hiredate = (select min(hiredate) from emp );   查询工资比SMIT......

weixin_39651356的博客 5299

企业级大数据平台的数据网格(Data Mesh)转型之路

随着企业数字化转型的深入,传统大数据平台面临数据孤岛化、治理成本高、业务响应慢等核心痛点。数据网格作为一种新兴的分布式数据管理架构,通过领域驱动设计(DDD)、数据产品化和联邦治理模式,为企业提供了打破数据壁垒、提升数据生产力的全新路径。本文聚焦企业级数据平台从传统架构(数据湖/数据仓库)向数据网格转型的关键技术、实施步骤和组织配套,涵盖技术架构设计、核心算法实现、项目实战案例及工具链推荐。背景介绍:定义转型目标、术语体系与核心挑战核心概念与联系:解析数据网格四大支柱及技术架构图谱核心算法原理。

AI 领航者的博客 1084

基于matlab不变矩的数字验证码识别系统

随着互联网技术的快速发展和应用,网络给人们提供了丰富的资源和极大的便利,但随之而来的是互联网系统的安全性问题,而验证码正是加强 Web 系统安全性的产物。全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,CAPTCHA)也是验证码的一个应用程序,可以区分用户是人类还是计算机智能单击对象。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 917

oracle查询最早工作的员工,oracle实现查询每一个部门的员工的基本信息详细举例...

--先删除原先存在的表:drop table emp;--创建表empcreate table emp(deptno number,ename varchar2(20),sal number);--插入数据--部门1的员工信息insert into emp values(1,'王嘻嘻1',15000);insert into emp values(1,'王嘻嘻2',1500);insert int...

weixin_33570610的博客 834

1篇2章1节:在 Mac 上安装 Python,从环境检查到工具配置的完整指南

Python 是当今最流行的高级编程语言之一,广泛应用于数据分析、人工智能、自动化脚本和 Web 开发。虽然 macOS 曾自带 Python,但从 macOS 12.3 开始,系统不再默认提供可直接使用的版本,因此需要手动安装。本文将详细讲解如何在 Mac 上安装最新版本的 Python,如何验证安装是否成功,以及如何配置 IDLE 和 Python Launcher 等工具,为日常开发和学习打下坚实基础。即便你是完全的新手,也能按步骤完成环境搭建。

MD Code 850

oracle数据库的关于分页查询的sql语句练习

oracle数据库的关于分页查询的sql语句练习 查询工资最高的3名员工信息 select * from (select * from employees order by salary desc ) where rownum<=3; 查询工资排名第5到第10的员工信息 select * from (select e.*,rownum r from employees e ord...

Java学习笔记 2303

精雕软件(JDpaint) 5.5 绿色版

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Oracle数据库的简单查询(练习题)

activity_type 列是 ENUM(category) 类型, 从 (‘open_session’, ‘end_session’, ‘scroll_down’, ‘send_message’) 取值。编写一个解决方案来返回需要听取汇报的所有经理的 ID、名称、直接向该经理汇报的员工人数,以及这些员工的平均年龄,其中该平均年龄需要四舍五入到最接近的整数。(product_id,start_date,end_date) 是 prices 表的主键(具有唯一值的列的组合)。是这个表中具有不同值的列。

xiaohuayu0207的博客 2254

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Oracle数据库练习----多表查询

文章目录Oracle练习的数据表Oracle练习的练习题Oracle练习的个人小结Oracle练习答案解析 Oracle练习的数据表 只要在Oracle中执行如下SQL文件会自动创建用于练习的数据库表 链接如下:Oracle数据库表生成文件 提取码是:p98r Oracle练习的练习题 1.列出所有雇员的姓名及其直接上级的姓名 2.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门; 3.显...

a1720119024的博客 980

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

oracle数据库基础单表查询相关练习sql语句

分享一下我自己总结的练习oracle数据库的练习语句,这里是基础的单表练习,适合基础很差的人来练手。仅仅有查询语句 --------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------- ---------

weixin_45293996的博客 382

Oracle数据库基础练习(一):Oracle数据库查询操作练习81题

Oracle数据库查询操作练习81题 --1:只使用SELECT子句来获取当前服务器的时间。 select sysdate from dual; --2:查询学历表中所有列的信息。 select * from diploma; --3:从教师表中查询教师编号、教师姓名、入职时间、职务和研究方向。 select * from teacher; select t_id,t_name,t_entertime,t_duty,t_research from TEACHER; --4:从学生表中查询学生的职务,如

芒果冰沙的博客 3995

Oracle数据库:子查询、单行子查询,多行子查询,in,any,all语句,子查询的练习案例

Oracle数据库:子查询、单行子查询,多行子查询,in,any,all语句,子查询的练习案例

weixin_46838716的博客 1744

SQL语句 创建,查询表练习集合 Oracle数据库

本文总结了SQL查询的常见问题类型及语法要点,包括:基础查询(WHERE条件筛选)、表连接(JOIN多表关联)、分组统计(GROUP BY聚合)、空值处理(IS NULL判断)等。提供了创建表、插入数据、基础查询、表连接、分组统计和排序等标准SQL语法示例,特别指出Oracle数据库在插入语句时的注意事项。文章通过无效推文筛选、销售记录关联等实际案例,展示了LENGTH()、COUNT()等关键函数的使用方法,为数据库查询操作提供了实用参考。

uft_8_12138的博客 528

【Oracle数据库】查询练习

数据库查询练习基础查询条件查询 基础查询 1.查询所有的部门编号: Select deptno from emp; 2.查询所有有人的部门编号: select ename,deptno from emp; 3.查询所有岗位名称: Select job from emp; 条件查询 4.查询所有薪水超过两千的员工信息 Select * from where sal>2000; 5.查询所有20部门的员工姓名,编号及薪水 Select ename,empno,sal from where dept

Lemon的罐头 4597

Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例

Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例

weixin_46838716的博客 1769

Oracle数据库查询练习

--SQL练习查询训练(今天才学习的数据库练习) --解锁scott用户 oracle 有关emp表的简单查询练习题  使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下  emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)  dept部门表(

希望会更好的博客 3812

oracle数据库工龄计算公式,Oracle 查询练习

1.已知Oracle的Scott用户中提供了三个测试数据库表,名称分别为dept,emp和salgrade。使用SQL语言完成以下操作1)试用SQL语言完成下列查询(单表查询):a)查询20号部门的所有员工信息:select * from emp e where e.deptno=20;b)查询奖金(COMM)高于工资(SAL)的员工信息:select * from emp where comm&...

weixin_31255215的博客 2907

数据库Oracle的子查询练习

1.写一个查询显示与 Zlotkey 的 在同一部门的雇员的 last name和 hire date,结果中不包括 Zlotkey --1.写一个查询显示与 Zlotkey 的 在同一部门的雇员的 last name和 hire date,结果中不包括 Zlotkey select e.department_id from employees e where e.last_name='Zlo...

欢迎来到我的博客,一起学习Java! 830

Oracle数据库查询语句练习

select userenv('language') from dual;--AMERICAN_AMERICA.ZHS16GBK select * from V$NLS_PARAMETERS--AMERICAN --===========解锁scott用户并重新设置密码 alter user scott account unlock; alter user scott identified by ...

未来架构师的博客 411
上一篇: oracle数据库——联接查询(内部联结、外部联结、自联结) 高级查询(子查询、关联子查询)decode(表达式) case row_number()用法
下一篇: oracle数据库——plsql基本语法 流程控制及练习 循环结构
一JJL
博客等级 码龄8年 48粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值