`
zhuxinzx
  • 浏览: 293848 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 练习题

阅读更多
显示EMP表中不同的部门编号。
如果要在查询的同时排序显示结果,可以使用如下的语句:

SELECT 字段列表 FROM 表名 WHERE 条件   
        ORDER BY 字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...];  

SELECT 字段列表 FROM 表名 WHERE 条件
ORDER BY 字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...];
ORDER BY从句后跟要排序的列。ORDER BY 从句出现在SELECT语句的最后。
排序有升序和降序之分,ASC表示升序排序,DESC表示降序排序。如果不指明排序顺序,默认的排序顺序为升序ASC。如果要降序,必须书写DESC关键字
1.升序排序 
【训练1】  查询雇员姓名和工资,并按工资从小到大排序。
输入并执行查询:
SELECT ename, sal FROM emp ORDER BY sal;  

执行结果为:
ENAME            SAL   
        ------------- --------------------   
        SMITH             800   
        JAMES             950  


注意:若省略ASC和DESC,则默认为ASC,即升序排序。
2.降序排序 
【训练2】  查询雇员姓名和雇佣日期,并按雇佣日期排序,后雇佣的先显示。
输入并执行查询:
SELECT ename,hiredate FROM emp ORDER BY hiredate DESC;  



结果如下:
ENAME       HIREDATE   
        ------------- -----------------------   
        ADAMS       23-5月 -87   
        SCOTT       19-4月 -87   
MILLER      23-1月 -82   
        JAMES       03-12月-81   
        FORD        03-12月-81  


注意: DESC表示降序排序,不能省略。
3.多列排序
可以按多列进行排序,先按第一列,然后按第二列、第三列......。
  【训练3】  查询雇员信息,先按部门从小到大排序,再按雇佣时间的先后排序。
输入并执行查询:
Sql代码

SELECT ename,deptno,hiredate FROM emp ORDER BY deptno,hiredate;  


结果如下:
ENAME       DEPTNO HIREDATE   
        ---------------- ----------------- ---------------   
        CLARK                  10 09-6月 -81   
        KING                   10 17-11月-81   
        MILLER                 10 23-1月 -82   
        SMITH                  20 17-12月-80   
        JONES                  20 02-4月 -81   
        FORD                   20 03-12月-81   
        SCOTT                  20 19-4月 -87  


说明:该排序是先按部门升序排序,部门相同的情况下,再按雇佣时间升序排序。
4.在排序中使用别名
如果要对计算列排序,可以为计算列指定别名,然后按别名排序。
  【训练4】  按工资和工作月份的乘积排序。
输入并执行查询:
SELECT empno, ename, sal*Months_between(sysdate,hiredate) AS total FROM emp    
        ORDER BY total;  


执行结果为:
EMPNO ENAME         TOTAL   
    ------------ ------------- ----------------------   
        7876    ADAMS       221526.006   
        7369    SMITH       222864.661   
        7900    JAMES       253680.817   
         7654   MARTIN      336532.484  


sysdate获取当前日期。

练习题:

1.SQL语言中用来创建、删除及修改数据库对象的部分被称为: C
A. 数据库控制语言(DCL)
B. 数据库定义语言(DDL)
C. 数据库操纵语言(DML)
D. 数据库事务处理语言

备忘:
DQL:Data Query Language SELECT 数据查询语言

DCL(Data Control Language)是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL


数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。这些定义包括结构定义、操作方法定义等。

DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是SELECT查询、UPDATE更新、INSERT插入、DELETE删除。


2.执行以下查询,表头的显示为: C
SELECT sal "Employee Salary" FROM emp  

     A. EMPLOYEE SALARY B. employee salary 
     C. Employee Salary D. "Employee Salary“ 

  
3.执行如下两个查询,结果为: D
SELECT ename name,sal salary FROM emp order by salary;   
        SELECT ename name,sal "SALARY" FROM emp order by sal ASC;  

A. 两个查询结果完全相同
B. 两个查询结果不相同
C. 第一个查询正确,第二个查询错误
D. 第二个查询正确,第一个查询错误
4.参考本章的emp表的内容执行下列查询语句,出现在第一行上的人是:
SELECT ename FROM emp WHERE deptno=10 ORDER BY sal DESC;  

A. SMITH B. KING 
C. MILLER D. CLARK 


5.哪个函数与||运算有相同的功能: B
A. LTRIM B. CONCAT
C. SUBSTR D. INSTR
6.执行以下语句后,正确的结论是:D
SELECT empno,ename FROM emp WHERE hiredate<to_date('04-11月-1980')-100  

A. 显示给定日期后100天以内雇佣的雇员信息
B. 显示给定日期前100天以内雇佣的雇员信息
C. 显示给定日期100天以后雇佣的雇员信息
D. 显示给定日期100天以前雇佣的雇员信息
7.执行以下语句出错的行是: D
 
SELECT deptno,max(sal) FROM emp    
             WHERE job IN('CLERK','SALEMAN','ANALYST')   
             GROUP BY deptno   
              HAVING sal>1500;  


A. 第一行 B. 第二行
C. 第三行 D. 第四行

备注: having 后的条件列名一定要和group by 后的列名一致,否则将回在第四行提示“不是Group By表达式”

8.执行以下语句出错的行是: A
SELECT deptno,max(avg(sal))    
        FROM emp    
        WHERE sal>1000   
        Group by deptno;  



A. 第一行 B. 第二行
C. 第三行 D. 第四行

备注:在select语句中指定的每个列名也在Group By子句中使用到。未在这两个地方使用到的列名将产生错误。

9.执行以下语句出错的行是: D
SELECT deptno,dname,ename,sal    
FROM emp,dept   
WHERE emp.deptno=dept.deptno   
AND sal>1000;  

A. 第一行 B. 第二行
C. 第三行 D. 第四行

备注:提示"未明确定义列"。应该在sal前加上表名,同样,多表联合查询的时候一定要记得用表名或是表的别名点列名。
例:

SELECT dept.deptno,emp.dname,emp.ename,emp.sal    
FROM emp,dept   
WHERE emp.deptno=dept.deptno   
AND emp.sal>1000;  


10. 以下语句出错,哪种改动能够正确执行: B
SELECT   deptno, max(sal)   
FROM emp   
GROUP BY deptno   
WHERE   max(sal)>2500;  


A. 将WHERE和GROUP BY 语句顺序调换一下
B. 将WHERE max(sal)>2500语句改成HAVING max(sal)>2500
C. 将WHERE max(sal)>2500语句改成WHERE sal>2500
D. 将WHERE max(sal)>2500语句改成HAVING sal>2500

备注:选择A将在where后面提示"此处不允许使用分组函数"因为where后面的是一个函数, 函数只能在select和having中使用。
      选择D执行的结果是提示"不是Group By表达式",因为如果having 后跟随的不是函数,而是列名,那么这个列名必须是在group by 子句中有使用。

11. 以下语句的作用是:
SELECT ename,sal FROM emp   
        WHERE sal<(SELECT min(sal) FROM emp)+1000;  

A. 显示工资低于1000元的雇员信息
B. 将雇员工资小于1000元的工资增加1000后显示
C. 显示超过最低工资1000元的雇员信息
D. 显示不超过最低工资1000元的雇员信息
12. 以下语句的作用是:
SELECT  job FROM emp WHERE deptno=10   
        MINUS   
        SELECT  job FROM emp WHERE deptno=20;  

A. 显示部门10的雇员职务和20的雇员职务
B. 显示部门10和部门20共同的雇员职务
C. 显示部门10和部门20不同的雇员职务
D. 显示在部门10中出现,在部门20中不出现的雇员职务
分享到:
评论

相关推荐

    工业接线检测系统中的视觉匹配技术与图像处理算法设计及其应用场景

    内容概要:本文档介绍了基于视觉匹配的工业装配智能识别系统的具体设计方案,旨在实现自动化、高精度接线检测。文中详细描述了系统的硬件构成、关键技术和处理流程,强调了从图像平滑到OCR文字提取等多个步骤的具体实施方式及其重要性,并阐述了系统对于提高工业生产质量评估效率的作用。此外,文档还探讨了所使用各类图像处理与深度学习方法的有效性和实际应用潜力,提供了较为完整的系统可行性分析。 适用人群:涉及图像处理技术研究的科研人员、从事工业自动化生产的管理人员和技术工作者。 使用场景及目标:适用于需要高精度识别接线正确性的各种工业生产线。其主要目标是在保证高效的同时尽可能减少人工介入,以确保检测的一致性和精确度,从而降低生产成本并提高产品合格率。 其他说明:系统涵盖了多项前沿科技,如机器视觉领域的图像平滑技术、边缘检测算法、图像匹配算法以及AI驱动的文字识别技术(OCR)。这些共同构成了完整的接线状态分析链路,可用于实时监控生产环节中接线情况。

    基于阶梯碳交易成本的含电转气-碳捕集(P2G-CCS)耦合的综合能源系统低碳经济优化调度,采用(Matlab+Yalmip+Cplex) 考虑P2G设备、碳捕集电厂、风电机组、光伏机组、CHP机组、燃

    基于阶梯碳交易成本的含电转气-碳捕集(P2G-CCS)耦合的综合能源系统低碳经济优化调度,采用(Matlab+Yalmip+Cplex) 考虑P2G设备、碳捕集电厂、风电机组、光伏机组、CHP机组、燃气锅炉、电储能、热储能、烟气存储罐。

    灵活而强大的Python数据分析操作库,提供类似于R数据框架对象的标记数据结构,统计函数等等.zip

    python

    二开白色UI汇汇通运营级 K线都正常的版本,运营级,接单、运营

    从朋友那换来的,白色UI,二开的版本,不喜欢之前那个黑色UI的,可以看这个了,白色的看起来,精神了不少。 K线都正常的版本,运营级,接单、运营都没问题。

    springboot187社区养老服务平台的设计与实现.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    非官方的抖音API包装在Python.zip

    python

    Python中的贝叶斯建模和概率编程.zip

    python

    springboot172基于springboot的二手车交易系统的设计与实现.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    matlab实现扩展卡尔曼滤波器(EKF)三维同步定位与建图(SLAM)及LQR轨迹控制研究-卡尔曼滤波-轨迹控制

    内容概要:该文章聚焦于无人机在复杂环境中实现自主导航与精确定位的技术难点,特别提出了一种基于扩展卡尔曼滤波器(EKF)进行三维同步定位与建图(SLAM)的方法,并结合线性二次型调节器(LQR)优化轨迹控制策略。具体内容涵盖系统的运动和观测模型建立、EKF的工作原理及其更新步骤、LQR的设计思路以及详细的MATLAB代码实现。文中不仅提供了完整的仿真环境设置,还在实验部分展示了定位精度提升、轨迹跟踪效果显著和地图构建的实际结果。 适用人群:研究人员、工程师以及对无人机动态系统感兴趣的学者和技术爱好者。 使用场景及目标:①解决无人机在复杂环境下精确导航和地图构建问题;②优化无人机沿预定路径飞行的能力,增强控制稳定性;③适用于学术研究和技术开发等领域。 其他说明:本文通过详尽的数学推导和代码实例,帮助读者理解EKF和LQR的应用背景、实施细节及其优势。此外,作者针对现有技术和未来研究趋势进行了讨论,指出了可能的发展方向。阅读时应注意实验条件对结论的影响,同时参考提供的完整MATLAB代码,有助于加深理解和实操能力。

    Python原生操作系统原生GUI工具包.zip

    python

    高质量的QR码生成器库在Java TypeScriptJavaScript Python Rust C.zip

    python

    Matlab simulink电力电子单项全波整流电路仿真

    《Matlab Simulink电力电子单项半波整流电路仿真》是基于Matlab/Simulink平台的电力电子单相半波整流电路仿真项目,旨在帮助用户通过仿真模型深入理解单相半波整流电路的工作原理、性能特点以及参数调节对电路行为的影响。该仿真模型用于模拟单相交流电源输入,通过半波整流方式将交流电转换为直流电,广泛应用于低功率的直流电源供电系统、低功率电池充电器等领域。 一、单项半波整流电路基本原理 单相半波整流电路是一种最简单的整流电路,它仅利用交流电源的半个周期来进行能量转换,通常采用二极管作为整流元件。半波整流器可以将交流信号的正半周期转换为直流电,但输出电压存在明显的波动,因此通常需要额外的滤波电路来平滑输出。 工作原理: 交流输入电源:输入的交流电压周期性变化,从零值增至最大值,然后反向变化,最终回到零值,完成一个周期。 整流元件(二极管):在正半周期,二极管导通,将交流电转化为直流电;在负半周期,二极管不导通,因此没有电流流通,输出电压为零。 输出直流电压:由于单相半波整流只利用了交流信号的正半周期,因此输出的直流电压在每个周期内会出现波动,表现为脉动直流。 电路组成:

    基于matlab的二维小波相干分析,以空气质量数据为例 进行二维小波相干分析

    基于matlab的二维小波相干分析,以空气质量数据为例。 进行二维小波相干分析。

    MMC冷热冗余故障控制simulink仿真 0.295s SM1断路 0.3s SM1旁路开关闭合 0.5s SM2短路 0.505s SM2旁路开关闭合 0.7s 冷备用模块投入 0.995s SM

    MMC冷热冗余故障控制simulink仿真 0.295s SM1断路 0.3s SM1旁路开关闭合 0.5s SM2短路 0.505s SM2旁路开关闭合 0.7s 冷备用模块投入 0.995s SM3断路 1s SM3旁路开关闭合 1.2s SM4断路 1.205s SM4旁路开关闭合

    springboot127基于Springboot技术的实验室管理系统.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    Python文件的格式化器.zip

    python

    基于51单片机的电梯控制系统 操作说明: 1.图中绿灯为电梯上行指示灯、黄灯为下行指示灯、红灯为报警指示灯 2.电梯初始状态位于一楼,在一楼的用户可直接按下电梯内部按钮,按后动电梯开始运行 3.在

    基于51单片机的电梯控制系统 操作说明: 1.图中绿灯为电梯上行指示灯、黄灯为下行指示灯、红灯为报警指示灯。 2.电梯初始状态位于一楼,在一楼的用户可直接按下电梯内部按钮,按后动电梯开始运行。 3.在任一层楼的用户,可以通过电梯外部的按钮请求电梯,电梯到达后通过内部按钮确定目标层。 注意:启动按钮相当于关门,电梯内部的请求都要按启动后电梯才会运行。

    Muc知识图谱-第二次实验报告实验代码

    Muc知识图谱_第二次实验报告实验代码

    Python书籍可以在线免费阅读或下载.zip

    python

    分布式Server:Server

    这段代码是一个使用DDS(Data Distribution Service,数据分发服务)API的订阅者应用示例。DDS是一种中间件协议,用于在分布式系统中发布和订阅数据。该代码示例展示了如何创建一个订阅者,接收Grade类型的数据,计算三个成绩的平均值,并将结果以AverageGrade类型的数据发布出去。以下是对代码主要部分的解析和一些潜在问题的指出: 主要部分解析 创建参与者(Participant): 使用DomainParticipantFactory创建一个参与者,该参与者在指定的域ID中运行。 创建订阅者(Subscriber)和发布者(Publisher): 在参与者下分别创建订阅者和发布者。 注册数据类型: 注册Grade和AverageGrade数据类型,这是DDS通信的基础。 创建主题(Topic): 为Grade和AverageGrade数据类型分别创建主题。 创建数据读取器(DataReader)和数据写入器(DataWriter): 在订阅者下创建Grade数据读取器,在发布者下创建AverageGrade数据写入器。 数据接收与处理: 在UserDat

Global site tag (gtag.js) - Google Analytics