Oracle

按部门号(deptno)及工资(sal)排序检索公司的员工信息(要求部门号从小到大,部门号相同的按工资由高到低),显示的字段为:empno、ename、sal、deptno。

题目

按部门号(deptno)及工资(sal)排序检索公司的员工信息(要求部门号从小到大,部门号相同的按工资由高到低),显示的字段为:empno、ename、sal、deptno。

参考答案和解析
正确答案:select empno,ename,sal,deptno from emp order by deptno asc,sal desc。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下语句不正确的是( )

A.select * from emp;

B.select ename,hiredate,sal from emp;

C.select * from emp order deptno;

D.select * from where deptno=1 and sal<300;


正确答案:C 

第2题:

检索每个部门职工工资的总和,要求显示部门名称和工资,正确的命令是

部门表(部门号N(4)、部门名称C(10))

职工表(部门号N(4)、职工号C(4)、姓名C(8)、工资N(7,2))

A.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY部门号

B.SELECT 部门号,SUM(工资)FROM职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY职工表.部门号

C.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; ORDRE BY职工表.部门号

D.SELECT 部门号,SUM(工资)FROM 部门表,职工表; WHERE 职工表.部门号=部门表.部门号; GROUP BY职工表.部门号


正确答案:D
解析:利用分组查询计算各个部门职工的工资总和,注意指定分组条件时,要指定数据表名称,否则系统提示部门号不惟一,必须加以限定。

第3题:

以下语句错误的是( )

A.select sal+1 from emp;

B.select sal*10,sal*deptno from emp;

C.不能使用运算符号

D.select sal*10,deptno*10 from emp;


正确答案:C 

第4题:

第下列各题使用如下数据。 部门(部门号C(2)、部门名称C(10)) 职工(部门号C(2)、职工号C(4)、姓名C(8)、基本工资 N(7,2)) 检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的语句是( )。

A.SELECT DISTINCT部门号FROM职711 WHERE基本工资>=ANY (SELECT基本工资FROM职工WHERE部门号一”ll”)

B.SELECT DISTINCT部门号FROM职工WHERE基本工资>=ALL (SELECT基本工资FROM职工WHERE部门号 一”ll”)

C.SELECT DISTINCT部门号FROM职工WHERE基本工资>=ANY (SELECT MAX(基本工资)FROM职工WHERE部门号=”ll”)

D.SELECT DlSTINcT部门号FROM职工WHERE基本工资>=ALL (SELECT MIN(基本工资)FROM职工WHERE部 门号=”11”)


正确答案:B
B。【解析】在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:<表达式><比较运算符>[ANYIALLISOME](子查询)其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有行都符合条件,结果才成立。本题中要求检索有职工的基本工资大于或等于“ll”部门中任意一名职工的工资的部门号,等价于其他部门职工的基本工资有大于或等于“ll”部门中所有职工的工资,因此要使用ALL短语。选项C和D的属于语法错误,SQL不支持此类型查询。

第5题:

检索最少有5名职工的每个部门的职工基本工资的总额,正确的语句是( )。

A.SELECT部门号,COUNT(*),SUM(基本工资)FROM职工; HAVING COUNT(*)>=5

B.SELECT部门号,COUNT(*),SUM(基本工资)FROM职工; GROUP BY基本工资HAVING COUNT(*)>=5

C.SELECT部门号,COUNT(*),SUM(基本工资)FROM职工; GROUP BY部门号HAVING COUNT(*)>=5

D.SELECT部门号,COUNT(*),SUM(基本工资)FROM职工; GROUP BY部门号WHERE COUNT(*)>=5


正确答案:C
解析:在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。
本题中先由GROUP BY子句按“部门号”对记录行进行分组:再执行COUNT()函数统计每组中有多少个记录,执行SUM()函数计算每个组的基本工资总和:最后执行HAVING子句,只有记录总数大于等于5的组才输出结果,即部门职工在5名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该部门的

第6题:

以下说法错误的是( )

A.SELECT max(sal),deptno,job FROM EMP group by sal;

B.SELECT max(sal),deptno,job FROM EMP group by deptno;

C.SELECT max(sal),deptno,job FROM EMP;

D.SELECT max(sal),deptno,job FROM EMP group by job;


正确答案:C 

第7题:

到(35)题使用如下数据表。

部门(部门号C(2)、部门名称C(10) )

职工(部门号C(2)、职工号C(4)、姓名C(8)、基本工资N(7,2) )

检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的语句是( )。

A.SELECT DISTmCT部门号FROM职工WHERE基本工资>=ANY; (SELECT基本工资FROM职工WHERE部门号="11")

B.SELECT DISTINC部门号FROM职工WHERE基本工资>=ALL; (SELECT基本工资FROM职工WHERE部门号="11")

C.SELECT DISTINCT部门号FROM职工WHERE基本工资>=ANY; (SELECT MAX(基本工资)FROM职工WHERE部门号="11")

D.SELECT DISTINCT部门号FROM职工WHERE基本工资>=ALL; (SELECT MIN(基本工资)FROM职工WHERE部门号="11")


正确答案:B
解析:在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:
表达式>比较运算符>[ANY|ALL|SOME](子查询)
其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立:而ALL(所有的)只有子查询中的所有行都符合条件,结果才成立。
本题中要求检索有职工的基本工资大于或等于“11”部门中任意一名职工的工资的部门号,等价于其他部门职工的基本工资有大于或等于“11”部门中所有职工的工资,因此要使用ALL短语。选项C)和D)的属于语法错误,SQL不支持此类型查询。

第8题:

SELECT COUNT(SAL) FROM EMP GROUP BY DEPTNO;意思是( )

A.求每个部门中的工资

B.求每个部门中工资的大小

C.求每个部门中工资的综合

D.求每个部门中工资的个数


正确答案:D 

第9题:

检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的语句是( )。

A.SELECT部门名称,SUM(基本工资)FROM部门,职工; WHERE职工,部门号=部门.部门号; ORDER BY部门号

B.SELECT部门名称,SUM(基本工资)FROM部门,职工; WHERE职工,部门号=部门.部门号; GROUP BY部门号

C.SELECT部门名称,SUM(基本工资)FROM部门,职工; WHERE职工.部门号=部门.部门号; ORDRE BY职工.部门号

D.SELECT部门名称,SUM(基本工资)FROM部门,职工; WHERE职工.部门号=部门.部门号; GROUP BY职工.部门号


正确答案:D
解析:进行SQL简单计算查询时,还可以加上GROUP BY子句进行分组计算查询。
通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
本题通过“GROUP BY职工.部门号”可以先将记录按“部门号”分组,然后再通过函数“SUM(基本工资)”对每组记录求和;另外,在指定分组条件时,因为两个表中都存在相同的字段,即“部门号”,因此要指定分组的字段来

第10题:

检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的命令是,( )。

A.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY; (SELECT 基本工资 FROM 职工 WHERE 部门号="11")

B.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL; (SELECT 基本工资 FROM 职工 WHERE 部门号="11")

C.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY; (SELECT MAX(基本工资) FROM 职工 WHERE 部门号="11")

D.SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL; (SELECT MIN(基本工资) FROM 职工 WHERE 部门号="11")


正确答案:B
解析:在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:
表达式>比较运算符>[ANY|ALL|SOME](子查询)
其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。
本题中要求检索有职工的基本工资大于或等于“11”部门中任意一名职工的工资的部门号,等价于其他部门职工的基本工资有大于或等于“11”部门中所有职工的工资,因此要使用ALL短语。选项C)和D)的属于语法错误,SQL不支持此类型查询。

更多相关问题