对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是( )。A)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;借阅.借书证号=读者.借书证号ORDERBY单位B)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;借阅.借书证号=读者.借书证号GROUPBY单位C)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE; &&借阅.借书证号=读者.借书证号HAVING单位D)SELECT单位,SUM(借阅

题目

对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是( )。

A)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;

借阅.借书证号=读者.借书证号ORDERBY单位

B)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;

借阅.借书证号=读者.借书证号GROUPBY单位

C)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE; &&

借阅.借书证号=读者.借书证号HAVING单位

D)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE;

借阅.借书证号=读者.借书证号GROUPBY单位


相似考题
更多“对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是( ”相关问题
  • 第1题:

    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。下面SQL语句正确的是______。 SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE; 借阅,借书证号=“0001”AND;

    A.图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号

    B.图书.分类号=借阅.分类号AND读者.借书证号=借阅.借书证号

    C.读者.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号

    D.图书.总编号=借阅.总编号AND读者.书名=借阅.书名


    正确答案:A
    解析:题目的要求是查询0001号借书证的读者姓名和所借图书的书名。此时涉及三个表,读者、借阅和图书表,并且是一个多表查询的题目,其中读者表与图书表通过纽带表借阅表进行关联,本题所应该采用的SQL语句如下
      SELECT 姓名,书名 FROM 借阅,图书,读者;
      WHERE 借阅.借书证号="0001"AND;
      图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号
      因此本题的正确答案应该是A。

  • 第2题:

    如果要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,请对下面的SQL句填空。

    SELECT出版单位,MAX(单价),【1】 ,【2】;

    FROM图书管理!图书;【3】出版单位

    如果要查询借阅了两本和两本以上图书的读者姓名和单位,请对下列的SQL语句填空。

    SELECT姓名,单位;FROM图书管理!读者;

    (SELECT 【4】 FROM图书管理!借阅;

    GROUP BY借书证号;

    【5】 CoUNT(*)>=2)

    根据题目内容填写 【1】 。


    正确答案:
    AVG(单价)

  • 第3题:

    对于图书管理数据库,检索当前至少借阅了两本图书的读者的姓名和所在单位。下面SQL语句,正确的是

    SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;

    设有图书管理数据库中包含以下表:

    读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

    借阅(借书证号C(4),总编号C(6),借书日期D(8))

    A.SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2

    B.(SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2)

    C.SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2

    D.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)


    正确答案:D
    解析:本题考查了分组查询。本题要求检索至少借阅了两本图书的读者,使用SELECT嵌套语句完成查询,内层循环通过对借书证号进行分组(分组的条件是统计该借书证号的使用次数大于等于2)来显示出至少借阅了两本图书的借书证号,外层查询通过内层查询的结果显示其对应的姓名和单位。

  • 第4题:

    查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是( )。

    A.SELECT图书编号FROM读者,借阅WHERE职称="工程师"

    B.SELECT图书编号FROM读者,图书WHERE职称="工程师"

    C.SELECT图书编号FROM借阅WHERE图书编号= (SELECT图书编号FROM借阅WHERE职称="工程师")

    D.SELECT图书编号FROM借阅WHERE借书证号IN (SELECT借书证号FROM读者WHERE职称="工程师")


    正确答案:D
    D。【解析】这是一个基于多个关系的查询,查询结果出自一个关系,但相关条件却涉及多个关系。所以使用嵌套查询。

  • 第5题:

    若用表Reader存储读者信息,Book表存储图书信息,Borrow表存储借阅情况。

    以下SQL语句是“查询证号为12345的读者当前所借阅的图书书名(即尚未归还的图书)”,请补充完整。

    SELECT 书名 FROM Book WHERE 流水号(1)

    (SELECT 流水号 FROM(2)WHERE 证号="12345" AND(3))

    以下SQL语句是“查询书名包含‘软件设计师’的图书情况”,请补充完整。

    SELECT * FROM Book WHERE 书名(4)"%软件设计师%"


    正确答案:(1)IN(2) Borrow(3) 归还标记="false"(4) LIKE
    (1)IN(2) Borrow(3) 归还标记="false"(4) LIKE 解析:空(1)是引出于查询的,该类连接词有:IN、NOT IN、EXISTS、NOT EXISTS,EXISTS引出的子查询一般是SELECT *型,故排除;再据语意分析应填IN。
    子查询的语意是“查询当前所借阅的图书流水号(即尚未归还的图书)”,因此应从Borrow表中查询,而且归还标记应为false,故空(2)应填Borrow,空(3)应填:归还标记="false"。
    对字符串进行的操作通常是使用操作符LIKE的模式匹配,正符合题意,故空(4)应填“LIKE”。

  • 第6题:

    对于图书管理数据库,检索藏书中比高等教育出版社的所有图书的书价更高的书,下面SQL语句正确的是______。 SELECT*FROM 图书 WHERE 单价>ALL;

    A.SELECT 书名 FROM 图书 WHERE 出版单位="高等教育出版社"

    B.(SELECT 单价 FROM 图书 WHERE 出版单位="高等教育出版社")

    C.SELECT 单价 FROM 图书 WHERE 读者.借书证号=借阅.借书证号

    D.(SELECT 书名 FROM 图书 WHERE 读者.借书证号=借阅.借书证号)


    正确答案:B
    解析:因为题目的要求是检索藏书中比高等教育出版社的所有图书的书价更高的书,因此需要使用关键字ALL,并且需要配合一个嵌套查询,因此本题应该使用的SQL语句如下:
      SELECT*FROM 图书 WHERE 单价>ALL;
      (SELECT 单价 FROM 图书 WHERE 出版单位="高等教育出版社")通过比较,可以看出正确答案应该是B。

  • 第7题:

    以下2题使用如下图书管理数据库:

    图书(总编号C(6),分类号C(8),书名C<16),作者C(6),出版单位C(20),单价N(6,2))

    读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

    借阅(借书证号C(4),总编号C(6),借书日期D(8))

    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。 SQL语句正确的是______。 SELECT姓名,书名FROM借阅,图书,读者WHERE; 借阅.借书证号="0001"AND;

    A.图书.总编号=借阅.总编号 AND 读者.借书证号=借阅.借书证号

    B.图书.分类号=借阅.分类号 AND 读者.借书证号=借阅.借书证号

    C.读者.总编号=借阅.总编号 AND 读者.借书证号=借阅.借书证号

    D.图书.总编号=借阅.总编号 AND 读者.书名=借阅.书名


    正确答案:A
    解析:使用SQL命令进行查询。查询结果出自不同的表,即姓名出自读者表,书名出自图书表,该题是涉及多个表的连接查询。读者和借阅表通过共有属性借书证号进行连接,从而可以获得借阅了图书的读者姓名,图书表和借阅表通过共有属性总编号进行连接,从而可以获得借出图书的书名。由于要进行3个关系即借阅、图书和读者3个表的连接,必须将连接条件放在WHERE短语后面,两个连接条件即“图书.总编号=借阅.总编号”和“读者.借书证号=借阅.借书证号”由AND运算符连接。

  • 第8题:

    对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是( )。


    正确答案:B
    要分别求出各个单位查询借阅图书人的读者人次,而单位信息在读者表中,借阅图书的信息在借阅表中,需要通过共同的借书证号属性把两个表联接起来,即将借阅,借书证号=读者借书证号置于WHERE短语之后。把同借书号所借阅的图书数目都统计在内,所以不需要使用DISTINCT短语去掉重复值:需要按单位统计借阅图书的读者人次,通过GROUPBY命令实现按单位分组查询。

  • 第9题:

    对于图书管理数据库,查询与“0005”号借书证借有相同书的借书证号。请对下面的 SQL语句填空: SELECT DISTINCT借书证号FROM借阅WHERE总编号; ______


    正确答案:IN(SELECT总编号FROM借阅WHERE借书证号="0005")
    IN(SELECT总编号FROM借阅WHERE借书证号="0005")

  • 第10题:

    对于图书管理数据库,检索没有借阅任何图书的读者的姓名和所在单位。请对下面的 SQL语句填空: SELECT姓名,单位 FROM 读者 WHERE【 】 (SELECT*FROM 借阅 WHERE【 】


    正确答案:NOT EXISTS 借阅.借书证号=读者.借书证号
    查询操作使用SELECT命令,本题是连接查询和嵌套查询的结合使用,内层查询是将借阅表和读者表通过借书证号连接起来,查询的结果是所有借阅了图书的信息的集合,外层查询读者表中不在内层查询结果中出现的读者姓名和单位,在WHERE条件短语中要用NOTEXISTS谓词。EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。

  • 第11题:

    对于图书管理数据库,检索藏书中比高等教育出版衽的所有图书的书价更高的书。下 面SQL语句正确的是______。 SELECT*FROM 图书 WHERE 单价>ALL;______

    A.SELECT 书名 FROM 图书 WHERE 出版单位="高等教育出版社"

    B.(SELECT 单价 FROM 图书 WHERE 出版单位=“高等教育出版社”)

    C.SELECT 单价 FROM 图书 WHERE 读者.借书证号=借阅.借书证号

    D.(SELECT 书名 FROM 图书 WHERE 读者.借书证号=借阅.借书证号)


    正确答案:B

  • 第12题:

    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句查询借阅了“数据库原理”一书的学生信息。


    正确答案:Select * from 学生 where 学号 in(select 学号 from借阅)
    Where 图书编号in select 图书编号 from 图书

  • 第13题:

    有如下SQL语句:

    SELECT读者.姓名,读者.职称,图书.书名,借阅.借书日期;

    FROM图书管理!读者,图书管理!借阅,图书管理!图书;

    WHERE借阅.借书证号=读者.借书证号;

    AND图书.总编号=借阅.总编号

    其中WHERE子句中的“借阅.借书证号=读者.借书证号”对应的关系操作是( )。


    正确答案:
    内部联接(INNER JOIN)或联接(JOIN)【解析】连接查询是一种基于多个关系的查询。

  • 第14题:

    对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是______。 SELECT单位,______FROM借阅,读者WHERE; 借阅.借书证号=读者.借书证号

    A.COUNT(借阅.借书证号) GROUP BY单位

    B.SUM(借阅.借书证号) GROUP BY单位

    C.COUNT(借阅.借书证号) ORDER BY单位

    D.COUNT(借阅.借书证号) HAVING单位


    正确答案:A

  • 第15题:

    对于图书管理数据库,查询读者孙慨然的情况。下面SQL语句正确的是 ______。 SELECT*FROM读者

    A.WHERE姓名:”孙慨然”

    B.WHERE图书.姓名:”孙慨然”

    C.FOR姓名:”孙慨然”

    D.WHERE姓名:孙慨然


    正确答案:A
    解析:本题完成的操作是查询,查询使用SELECT命令,查询条件的是孙慨然的情况。在SQL语句中在WHERE语句后加条件表达式,所以选项C是不正确的,选项B中“图书.姓名”语句是错误的;因为在图书表中没有姓名字段,选项D字符型字段的内容没有加定界符。

  • 第16题:

    第3~4题使用的数据表结果如下:

    图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

    读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

    借阅(借书证号C(4),总编号C(6),借书日期D(8))

    对于图书管理数据库,求ABC单位借阅图书的读者的人数。下而SQL语句正确的是( )。


    正确答案:A
    COUNT命令统计数据表中的记录个数;SUM对数据表中所有数据值字段进行纵向求和。题目要求显示ABC单位的借阅图书的读者人数,本题使用的是嵌套查询语句,内层查询将单位是“ABC”的读者的借书证号查出来,外层查询根据内层查询的结果通过对借阅库的操作显示出单位为ABC的借阅图书的读者。当然有可能有的读者不止借阅过一次书,所有要在“借书证号”前加DISTINCT命令去掉重复值,求的才是人数,而不是人次数。

  • 第17题:

    对于图书管理数据库,求CIE单位借阅图书的读者的人数,下面SQL语句正确的是______。 SELECT______FROM借阅WHERE; 借书证号______

    A.COUNT(DISTINCT 借书证号); IN(SELECT 借书证号 FROM 读者 WHERE 单位="CIE")

    B.COUNT(DISTINCT 借书证号); IN(SELECT 借书证号 FROM 借阅 WHERE 单位="CIE")

    C.SUM(DISTINCT 借书证号); IN(SELECT 借书证号 FROM 读者 WHERE 单位="CIE")

    D.SUM(DISTINCT 借书证号); IN(SELECT 借书证号 FOR 借阅 WHERE 单位="CIE")


    正确答案:A
    解析:本题需要求的是CIE单位借阅图书的读者的人数。因此需要采用COUNT()函数来求读者人数,同时要保证借阅的读者是CIE单位的读者。通过以上分析可以知道所采用的SQL语句应该如下
      SELECT COUNT(DISTINCT 借书证号)FROM 借阅 WHERE
      借书证号 IN(SELECT 借书证号 FROM 读者 WHERE 单位="CIE")
      通过比对,可以知道选项A为正确选项。

  • 第18题:

    对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位,下面SQL语句正确的是______。 SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;

    A.(SELECT 借书证号 FROM 借阅 GROUP BY 总编号 HAVING COUNT(*)>=2)

    B.(SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2)

    C.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING SUM(*)>=2)

    D.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)


    正确答案:D
    解析:本题的要求是检索当前至少借阅了2本图书的读者的姓名和所在单位。
      因此在检索时需要按照读者进行分组,并且在每个组内需要保证至少借阅了两本书,因此该题目应该采用的SQL语句如下
      SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;
      (SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)
      因此本题的正确选项应为D。

  • 第19题:

    有以下两个表: 读者(借书证号C C、4),单位C(8),姓名C(、6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8)) 要求分别求出各个单位当前借阅图书的读者人次,下面的SQL语句正确的是( )。 SELECT单位,__________FROM借阅,读者WHERE借阅.借书证号=读者.借书证号__________

    A. COUNT(借阅.借书证号)CROUP BY单位

    B. SUM(借阅.借书证号)GROUP BY单位

    C. COUNT(借阅.借书证号)ORDER BY单位

    D. COUNT(借阅.借书证号)HAVING单位


    正确答案:A
    题目中给出了两个数据表。本题要求的是各单位当前借阅图书的人次,因此必须采用COUNT命令来求得总人数,然后应该以各个单位进行分组操作,通过这两个方面的内容考虑,本题的正确答案应该是:
    SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE借阅.借书证号=读者.借书证号GROUP BY单位 因此应该选择A。

  • 第20题:

    连编后可以脱离Visual FoxPro独立运行的程序是 ______。

    以下2题使用如下图书管理数据库:

    图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

    读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

    借阅(借书证号C(4),总编号C(6),借书日期D(8))

    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。 SQL语句正确的是______。 SELECT姓名,书名FROM借阅,图书,读者WHERE; 借阅.借书证号="0001" AND;

    A.图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号

    B.图书.分类号=借阅.分类号AND读者.借书证号=借阅.借书证号

    C.读者.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号

    D.图书.总编号=借阅.总编号AND读者.书名=借阅.书名


    正确答案:A
    解析:使用SQL命令进行查询。查询结果出自不同的表,即姓名出自读者表,书名出自图书表,该题是涉及多个表的连接查询。读者和借阅表通过共有属性借书证号进行连接,从而可以获得借阅了图书的读者姓名,图书表和借阅表通过共有属性总编号进行连接,从而可以获得借出图书的书名。由于要进行3个关系即借阅、图书和读者3个表的连接,必须将连接条件放在WHERE短语后面,两个连接条件即“图书.总编号=借阅.总编号”和“读者.借书证号=借阅.借书证号”由AND运算符连接。

  • 第21题:

    对于图书管理数据库,检索书名是以“Internet”开头的所有图书的书名和作者。请对下面的SQL语句填空: SELECT书名,作者 FROM 图书 WHERE【 】


    正确答案:书名LIKE"Internet%"或 Left(书名8)="Internet"
    查询操作使用SELECT语句。本题是基于单个表即图书表的带有条件的简单查询,其条件是以“Internet”开头的书名,要用到LIKE运算,条件表达式为“书名LIKE”Internet%”。注意,LIKE运算符后面的“Internet”及%要用双引号括起来。在SQL语句中,LIKE是字符串匹配运算符,%表示匹配包含零个或多个字符的任意字符串。这个通配符既可以用作前缀也可以用作后缀。

  • 第22题:

    对于图书管理数据库,要查询借阅了两本和两本以上图书的读者姓名和单位,请对下面的SQL语句填空: SELECT 姓名,单位 FROM 图书管理!读者; WHERE 借书证号 IN(SELECT【 】FROM 图书管理!借阅; GROUPBY 借书证号 【 】 COUNT(*)>=2)


    正确答案:借书证号 HAVING
    查询操作要用SELECT命令实现。本题是嵌套查询,其内层查询带有限定条件的分组查询。内层查询按借书证号进行分组,也就是按读者进行分组,对借阅表中的每一种借书证号所借的图书数目通过COUNT(*)进行统计,只查询借阅了两本和两本以上图书的借书证号,即COUNT(*)作为HAVING短语的条件,对分组进行限制。内层查询的结果得到借书证号的一个集合。外层查询依据内层查询的结果在读者表中查询相应的读者姓名和单位。

  • 第23题:

    分析以下的SQL命令:SELECT图书.书号,图书.书名,借阅.读者号FROM借阅RIGHTJOIN图书ON图书.书号=借阅.书号。如下描述正确的是()。

    • A、将没借书的读者信息也查出来
    • B、只查出被借走的图书信息
    • C、将没被借走的图书信息也查出来
    • D、只查出被借走图书的书号和书名

    正确答案:B