显示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中不出现的雇员职务
分享到:
相关推荐
这个“适合新手的Oracle练习题集合”旨在帮助初学者巩固理论知识,提高实践技能,同时通过解决实际问题,如安全认证和转账问题,加深对Oracle数据库的理解。 1. **SQL基础**:在Oracle中,SQL(结构化查询语言)是...
这份"Oracle练习题初学者适用"的压缩包提供了一系列的DOC文件,旨在帮助初学者系统地学习和巩固Oracle的相关知识。 首先,我们可以从“Oracle习题”这个文件名推测,这些文档可能包含了各种类型的题目,如选择题、...
这些练习题涵盖了Oracle数据库的基本查询技巧,包括子查询、连接操作、聚合函数、条件判断以及各种内置函数的使用。通过解决这些问题,可以深入理解Oracle SQL和PL/SQL的用法,并提升在实际数据库管理中的技能。
在"oracle练习题关于触发器的作业"中,你可能需要设计和实现各种类型的触发器来解决实际问题。例如,你可能需要创建一个触发器来确保表中的某个字段始终具有唯一的值,或者在更新记录时自动更新另一相关表的数据。 ...
根据提供的Oracle练习题答案及其描述,我们可以逐一解析并总结出其中涉及的重要知识点: ### 1. 查询所有学生信息以及所有课程信息 ```sql select * from student; select * from course; ``` - **知识点**: `...
【北大数据库原理上机题 Oracle练习题与答案】 在学习数据库原理时,Oracle数据库系统是一个重要的实践平台,因其强大的功能和广泛的应用而受到重视。北京大学的数据库原理课程中,学生通常会接触到一系列针对...
针对"Oracle练习题很内容全面丰富"这一主题,我们可以深入探讨Oracle数据库的相关知识点,帮助学习者巩固理论知识,提升实战技能。 1. **SQL语言基础**:Oracle数据库操作主要依赖于SQL(结构化查询语言),包括DML...
根据给定的Oracle练习题,我们可以提取出一系列与Oracle SQL相关的知识点。这些知识点不仅包括了基本的表结构创建、数据插入等操作,还涉及到了较为复杂的查询语句编写。接下来,我们将逐一分析并解释这些知识点。 ...
这份“经典资料2----Oracle练习题!”显然是为了帮助学习者提升在Oracle数据库领域的技能和理解。Oracle的学习涵盖了SQL查询、数据库设计、存储结构、性能优化、安全管理等多个方面,而练习题则是检验和巩固理论...
这个"oracle练习题.zip"压缩包包含了一些关于Oracle数据库操作的练习资料,主要关注查询语句和基本的数据操作。 首先,"table.sql"文件很可能是创建数据库表的SQL脚本。在Oracle中,创建表是数据库设计的基础,它...
本资料集中的“经典Oracle练习题”旨在帮助你巩固Oracle的基础知识,提高解决实际问题的能力,同时也为面试做好充分准备。 1. **SQL查询基础** - 学习如何使用SELECT语句进行数据检索,包括基本的SELECT语句,如...
【Oracle练习题详解】 Oracle是世界上最流行的数据库管理系统之一,它提供了强大的数据管理和处理能力。以下是一些基于Oracle的练习题及其解析,旨在帮助你更好地理解和掌握Oracle SQL。 1. Oracle not available...
根据提供的信息,我们可以总结出以下Oracle数据库练习题及其解析,主要涵盖了SQL查询、子查询、聚合函数等知识点。 ### 1. 查询所有员工的姓名和部门编号 ```sql SELECT ename, deptno FROM emp; ``` 这个查询非常...
"Oracle练习题"通常包含了一系列针对初学者和专业人员设计的问题,旨在帮助他们掌握Oracle数据库的基础知识和进阶技能。这些题目涵盖了SQL查询、数据库管理、表结构设计、事务处理、安全性、备份与恢复等多个方面。 ...
"21天学通ORACLE练习题答案"这个主题旨在帮助学习者通过一系列练习题深入理解Oracle的相关概念和技术。以下是对相关知识点的详细解释: 1. **Oracle安装配置**: - **硬件环境**:Oracle 10g的最低要求是1024MB...
【Oracle练习题及答案(二)】 在Oracle数据库管理中,熟悉SQL查询是至关重要的,以下是一些关于SQL查询的示例题目及其解答,涵盖了多种常见的查询技巧。 1. 列出至少有一个雇员的所有部门 这个查询使用了子查询来...
【Oracle练习题解析】 在Oracle数据库管理中,掌握SQL查询语言是至关重要的。以下是对给定练习题的详细解析: 1. 当尝试使用sqlplus连接数据库时,出现"Oracle not available"错误通常是因为Oracle服务器未启动...
以下是一些基于给定Oracle练习题的知识点: 1. **子查询**:在第一题中,我们看到一个简单的子查询来选取部门30的雇员。这种用法展示了如何在WHERE子句中使用子查询来过滤数据。 2. **JOIN操作**:第二题演示了...