Access数据库程序设计

单选题已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列SQL语句中,正确的是(  )。A SELECT学号,COUNT(学号)FROM借阅B SELECT学号,COUNT(学号)FROM借阅GROUPBY学号C SELECT学号,SUM(学号)FROM借阅D SELECT学号,SUM(学号)FROM借阅ORDER BY学号

题目
单选题
已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列SQL语句中,正确的是(  )。
A

SELECT学号,COUNT(学号)FROM借阅

B

SELECT学号,COUNT(学号)FROM借阅GROUPBY学号

C

SELECT学号,SUM(学号)FROM借阅

D

SELECT学号,SUM(学号)FROM借阅ORDER BY学号

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

要从选课表(学号、课程号、成绩)中查询选修了3门以上课程的学生学号,应使用的SELECT-SQL语句是______。

A.SELECT学号FROM选课表WHERECOUNT(*)>=3

B.SELECT学号FROM选课表HAVINGCOUNT(*)>=3

C.SELECT学号FROM选课表GROUPBY学号HAVINGCOUNT(*)>=3

D.SELECT学号FROM选课表GROUPBY学号WHERECOUNT(*)>=3


正确答案:C
解析:在选课表中,要查询每个学生选修了多少门课程,就应该有按学号的分组语句,如果在查询中对分组后的记录还有一定的限制,就要使用HAVING短语。选项A没有分组语句;选项B也没有分组语句,特别要指出的是,HAVING短语必须跟在GROUP之后;选项C是先按学号进行分组,然后选出分组后记录数大于3的记录,满足了本题的条件;选项D中GROUP后跟的条件语句不正确。

第2题:

查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。

A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)

B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)

C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)

D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)


正确答案:D
解析:选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。
选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

第3题:

( 20 ) 已知 “ 借阅 ” 表中有 “ 借阅编号 ” 、 “ 学号 ” 和 “ 借阅图书编号 ” 等字段 , 每名学生每借一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列 SQL 语句中,正确的是

A ) select 学号, count( 学号 ) from 借阅

B ) select 学号, count( 学号 ) from 借阅 group by 学号

C ) select 学号, sum( 学号 ) from 借阅

D ) select 学号, sum( 学号 ) from 借阅 order by 学号


正确答案:B

第4题:

已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列sQL语句中,正确的是

A.Select学号,Count(学号)from借阅

B.select学号,Count(学号)from借阅Group By学号

C.select学号,Sum(学号)from借阅

D.Select学号,Sum(学号)from借阅Order By学号


正确答案:B
解析:要将查询结果按某一列或多列的值分组,且值相等的为一组则使用GROtJP BY子句;聚集函数COUNT()用于统计元组个数。

第5题:

从学生选课表SC中(其中有学号、课程号、成绩3个字段)查询选修了3门以上课程的学生学号,实现该功能的SELECT语句是______。

A.SELECT 学号 FROM SC GROUP BY学号 HAVING SUM(*)>3

B.SELECT 学号 FROM SC GROUP BY学号 HAVING COUNT(*)>3

C.SELECT 学号 FROM SC GROUP BY学号 HAVING 课程号>3

D.SELECT 学号 FROM SC WHERE 课程号 >3 GROUPBY学号


正确答案:B
解析:根据题目要求,应先用GROUP BY子句按学号分组,再用集函数COUNT对每一组计数。 HAVING指定选择组的条件,只有满足条件(元组数>3,表示此学生选修的课超过3门)的组才会被选出来。根据此分析,选项B的语句正确。

第6题:

已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每个学生每借阅一本书生成一条记录,要求按学生学号统计出每个学生的借阅次数。下列SQL语句中,正确的是( )。

A.Select 学号,Count(学号) From 借阅

B.Select 学号,Count(学号) From 借阅 Group by 学号

C.Select 学号,Sum(学号) From 借阅

D.Select 学号,Sum(学号) From 借阅 Order by 学号


正确答案:B
解析: 本题考查的是SQL查询。要将查询结果按某一列或多列的值分组,且值相等的为一组使用Group By子句。函数(COUNT()的功能是统计元组的个数,与Group By子句配合使用可以进行分类汇总。Order By是指排序。

第7题:

要从选课表(学号、课程号、成绩)中查询选修了三门课程以上的学生学号,应使用的SELECT-SQL语句是

A.SELECT学号FROM选课表WHERE COUNT(*)>=3

B.SELECT学号FROM选课表HAVING COUNT(*)>=3

C.SELECT学号FROM选课表GROUP BY学号HAVING COUNT(*)>=3

D.SELECT学号FROM选课表GROUP BY学号WHERE COUNT(*)>=3


正确答案:C
解析:在选课表中,要查每个学生选修了多少门课程,就应该有按学号的分组语句,如果在查询中对分组后的记录还有一定的限制,就要使用HAVING短语。

第8题:

用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是A)SELECT S.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING GOUNT(*)>=5 ORDER BY平均成绩DESCB)SELECT学号,姓名,AVG(成绩)FROM S,SC; WHERE S.学号SC.学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESCC)SELECT S.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY S.学号ORDER BY平均成绩DESCD)SELECT S.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING COUNT(*)=5 ORDER BY 3 DESC


正确答案:D
本题考查使用COUNT()函数来构造复杂查询,显示”平均成绩”不是表中字段,不能直接显示,用函数来实现表示方法为:AVG(成绩)平均成绩。因选项A,选项B表示错误可排除;在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组,也就是说先写WHERE子句,然后是GROUP,最后用HAVING子句对GROUP分组限定条件。选项C这两个选项中错误在于COUNT(*)>=5分组限定条件写在WHERE之后。故选项D为正确答案。

第9题:

学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。

A. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)

B. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)

C. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)

D. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND 课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)


正确答案:D
所有选项都是通过嵌套查询来实现题目的要求,因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为“007”的同学,所以内外查询中都要用到条件:课程号=”007”。

第10题:

在学生借书数据库中,已有“学生”表和“借阅”表,其中“学生”表含有“学号”、“姓名”等信息,“借阅”表含有“借阅编号”、“学号”等信息。若要找出没有借过书的学生记录,并显示其“学号”和“姓名”,则正确的查询设计是

A.

B.

C.

D.


正确答案:A
解析:首先,要找出没有借书记录的学生,在查询设计网格的“学号”列下的“条件”行中键入Is。Null。其次,由于只显示“学号”和“姓名”,取消“学号”列“显示”行中的复选框。

更多相关问题