数据库面试题图书表:图书编号,图书名教师表:教师编号,姓名,图书编号获奖名单表:教师编号,获奖日期请查询在获奖名单中,获得前十位获奖教师的信息

题目
数据库面试题

图书表:图书编号,图书名

教师表:教师编号,姓名,图书编号

获奖名单表:教师编号,获奖日期

请查询在获奖名单中,获得前十位获奖教师的信息 


相似考题
更多“数据库面试题 图书表:图书编号,图书名教师表:教师编号,姓名,图书编号获奖名单表:教师编号,获奖日期请查询在获奖名单中,获得前十位获奖教师的信息”相关问题
  • 第1题:

    在Access的数据库中已经建立了"tBook"表,若使用SQL语句查找"图书编号"是"112266"和"113388"的记录,应在WHERE条件中输入()。

    A.图书编号="112266"and"113388"

    B.图书编号notin("112266","113388")

    C.图书编号in("112266","113388")

    D.图书编号not("112266"and"113388")


    正确答案:C

  • 第2题:

    求至少出版3本以上图书的作者姓名及数量,下列SQL语句正确的是( )。

    A.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=3

    B.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 HAVING COUNT(*)>=3

    C.SELECT姓名,COUNT(*) AS 数量 FROM 图书,作者; FOR 作者.作者编号=图书.作者编号; WHERE 图书.作者编号 HAVING COUNT(*)>=3

    D.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 SET COUNT(*)>=3


    正确答案:B
    解析:本题中首先通过GROUP BY短语按“作者编号”字段对“图书”表中的记录进行分组,然后利用 COUNT()分组统计每个作者的图书数量,再通过HAVING 子句限定出版数量至少在3本以上的记录。注意: HAVING子句用来进一步限定分组要满足的条件,必须要与GROUP BY短语连用并接在GROUP BY短语之后。

  • 第3题:

    求至少出版两本以上图书的作者姓名及数量,下列SQL语句正确的是

    A.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=2

    B.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 HAVING COUNT(*)>=2

    C.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 SET COUNT(*)>=2

    D.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; AND COUNT(*)>=2; GROUP BY 图书.作者编号


    正确答案:B
    解析:本题利用SQL分组查询的功能,查询至少出版2本以上图书的作者,需要利用HAVING子句可以对分组条件做进一步限定。选项A)中,没有对查询进行分组;选项C)中的SET短语错误,对分组条件做进一步限定,需要利用HAVING子句;选项D)中也存在语法错误,HAVING子句只能跟在GROUP BY短语后一起使用。

  • 第4题:

    查询尚未归还书的图书编号和借书日期,正确的SQIL语句是

    A.sELECT图书编号,借书日期FROM借阅WHERE还书日期=””

    B.SEI正cT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C.sELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULl。

    D.SELECT图书编号,借书日期FROM借阅WwHERE还书日期


    正确答案:C
    解析:SQL支持空值,同样可以利用空值进行查询。查询空值时要使用ISNULL,而“=NULL”是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较。

  • 第5题:

    设有图书(图书编号,书名,第一作者,出版社.、读者(借书证号,姓名,单位,职称.和借阅(借书证号,图书编号,借书日期,还书日期.三张表,则表借阅的关键字(键或码.为( )。

    A.借书证号,图书编号

    B.图书编号,借书日期

    C.借书日期,还书日期

    D.借书证号,借书日期


    正确答案:A
    在二维表中凡能唯一标识元组的最小属性集称为关键字,关键字具有标识元组、建立元组间联系等重要作用。此题中,(借书证号,图书编号)是表借阅的主键,借书证号、图书编号分别是外键,借书证号是读者表的主关键字,图书编号是图书表的主关键字。

  • 第6题:

    在“教师档案.mdb”数据库中有班级、教师授课、教师档案和课程4张表。

    (1)以教师档案表为数据源,创建参数查询“教师编号查询”,实现输入教师编号显示教师的全部信息。参数提示为“请输入教师编号”。查询结果如图所示。


    正确答案:(1)在“数据库”窗口中新建一个查询在弹出的“新建查询”对话框中选择“设计视图”在弹出的“显示表”对话框中添加教师档案表。关闭“显示表”对话框。选择教师档案表.*和教师编号字段。将“[请输入教师编号]”输入到教师编号字段的准则行取消该字段的显示。将该查询保存为“教师编号查询”。 (2)在“数据库”窗口中新建一个查询在弹出的“新建查询”对话框中选择“设计视图”在弹出的“显示表”对话框中添加班级、教师授课表、教师档案表和课程表。关闭“显示表”对话框。选择班级名称、课程名称和姓名字段。将“计算机软件”输入到班级名称字段的准则行。将该查询保存为“查询1”。
    (1)在“数据库”窗口中新建一个查询,在弹出的“新建查询”对话框中选择“设计视图”,在弹出的“显示表”对话框中添加教师档案表。关闭“显示表”对话框。选择教师档案表.*和教师编号字段。将“[请输入教师编号]”输入到教师编号字段的准则行,取消该字段的显示。将该查询保存为“教师编号查询”。 (2)在“数据库”窗口中新建一个查询,在弹出的“新建查询”对话框中选择“设计视图”,在弹出的“显示表”对话框中添加班级、教师授课表、教师档案表和课程表。关闭“显示表”对话框。选择班级名称、课程名称和姓名字段。将“计算机软件”输入到班级名称字段的准则行。将该查询保存为“查询1”。

  • 第7题:

    设教师表保存的是教师信息,教师表的表结构为(教师编号,姓名,职称)i图书出版表保存的是教师出版图书的情况,图书出版表的表结构为(ISBN号,教师编号,图书名,出版社,出版年份)。如果希望查询从来没有出版过图书的教师编号和姓名,正确的SQL语句是( )。

    A.SELECT教师表.教师编号,姓名FROM教师表JOIN图书出版表; 0N教师表.教师编号一图书出版表.教师编号WHERE教师表.教师编号IS NULL

    B.SELECT教师表.教师编号,姓名FROM教师表LEFT JOIN图书出版表; ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL

    C.SELECT教师表.教师编号,姓名FROM教师表INNER JOIN图书出版表; ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL

    D.SELECT教师表.教师编号,姓名FROM教师表RIGHT JOIN图书出版表; ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL


    正确答案:B
    本题考查超连接查询,在一般的SQL中,超连接运算符是“*=”(左连接)和“=*”(右连接)。超连接查询有四种连接方式,其基本格式为SELECT……FROM左表INNER|LEFT|RIGHT|FULLJOIN右表ON连接条件WHERE其它条件。其中:·INNERJOIN等价于JOIN,为普通连接(也称为内部连接),普通连接只有满足连接条件的记录才出现在查询结果中;·LEFTJOIN为左连接,左连接除满足连接条件的记录出现在查询结果中外,第一个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NULL.:·RIGHTJOIN为右连接,除满足连接条件的记录出现在查询结果中外,第二个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NULL.;·FULLJOIN称为全连接除满足连接条件的记录出现在查询结果中外,两个表中不满足连接条件的记录也出现在查询结果中,即两个表中的内容都会显示在结果中,不满足连接条件的记录的对应部分为.NULL.。查询从来没有出版过图书的教师编号和姓名,B为正确选项。

  • 第8题:

    如图7所示。需要将“获奖作品”表和“作品类型”表通过“类型编号”字段建立关系并实施参照完整性,在操作时却无法成功的原因可能是()。



    A.没有将“获奖作品”表的主键设置为“类型编号”

    B.没有将“获奖作品”表的主键设置为“作品编号”

    C.没有将“作品类型”表的“类型编号”字段的数据类型设为“数字”

    D.没有将“获奖作品”表的“作品编号”字段的数据类型设为“数字”

    答案:A
    解析:
    如果要通过类型编号字段建立关系,则两个表的主键必须都设为“类型编号”字段。题目中操作时无法成功是因为“获奖作品”表没有将主键设置为“类型编号”。

  • 第9题:

    在图书数据库中有“作者”表(作者编号、作者名)、“读者”表(读者编号、读者名)和“图书”表(图书编号,图书名、作者编号)等3个基本情况表。如果一名读者借阅过某一本书,则认为该读者与这本书的作者之间形成了关系。为能反映作者与读者之间的关系,在数据库中应增加新的表。下列关于新表的设计中,最合理的设计是()

    • A、增加一个表:借阅表(读者编号、图书编号)
    • B、增加一个表:读者-作者表(读者编号、作者编号)
    • C、增加一个表:借阅表(读者编号、图书编号、作者编号)
    • D、增加两个表:借阅表(读者编号、图书编号),读者-作者表(读者编号、作者编号)

    正确答案:A

  • 第10题:

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


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

  • 第11题:

    单选题
    查询尚未归还书的图书编号和借书日期,正确的SQL语句是(  )。
    A

    SELECT图书编号,借书日期FROM借阅WHERE还书日期=

    B

    SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C

    SELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULL

    D

    SELECT图书编号,借书日期FROM借阅WHERE还书日期


    正确答案: C
    解析:
    由于还书日期默认为空,一旦读者归还了图书,则还书日期就不再为空,所以可以通过还书日期是否为空来判断是否已还书。SQL利用空值进行查询的判断字段为ISNULL。

  • 第12题:

    问答题
    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句查询2006年5月1日到2006年6月1日期间,图书的借阅情况。

    正确答案: Select * from 借阅 where 借阅日期
    Between ‘2006/05/01’ and ‘2006/06/01’
    解析: 暂无解析

  • 第13题:

    查询“上海”作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书“价格”降序排列,下列SQL语句中正确的是( )。

    A.SELECT 姓名,书名,价格 FROM 图书,作者; JOIN 图书.作者编号=作者.作者编号; WHERE所在城市="上海"; ORDER BY 价格 DESC

    B.SELECT 姓名,书名,价格 FROM 图书,作者; JOIN 图书.作者编号=作者.作者编号; ON 所在城市="上海"; ORDER BY 价格

    C.SELECT 姓名,书名,价格 FROM 图书,作者; WHERE 图书.作者编号=作者.作者编号; AND 所在城市="上海"; ORDER BY 价格 DESC

    D.SELECT 姓名,书名,价格 FROM 图书,作者; WHERE 图书.作者编号=作者.作者编号; AND 所在城市="上海"; ORDER BY 价格


    正确答案:C
    解析:本题是一个多表连接查询的SQL语句,关键要注意表间连接条件的使用。如果使用超连接方式查询,则正确的语句格式为:
    SELECT……
    FROM数据库表1>INNER JOIN数据库表2>
    ON连接条件>
    WHERE……
    其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接;ON连接条件>指定两个进行表连接的条件字段。
    如果使用的是普通的连接方式,则只需在FROM短语中指定查询的数据表,各表名之间用逗号隔开,而各表之间的连接放在WHERE短语后面,设计两个连接条件时,用AND短语连接这两个条件。ORDBY BY短语的功能是对查询结果按指定字段进行排序。

  • 第14题:

    已知某高校图书借阅管理系统中包含系、教师、学生、教师编号、系名、书名、图书、学生性别、职称、学生姓名、书价的信息。这些信息中能够被标识为实体集的是______。

    Ⅰ.系、教师、学生、图书

    Ⅱ.教师编号、系名、书名、学生姓名

    Ⅲ.学生性别、职称、学生姓名、书价

    Ⅳ.图书、教师、书名

    A) 仅Ⅰ

    B) 仅Ⅰ和Ⅱ

    C) 仅Ⅰ、Ⅱ和Ⅳ

    D) 全部

    A.

    B.

    C.

    D.


    正确答案:D

  • 第15题:

    以下题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:

    图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为c型字段,图书编号为主关键字;

    读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;

    借阅(借书证号,国书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。

    查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是

    A.sELECT书名,出版社FROM图书WHERE第一作者=张三

    B.SELECT书名,出版社FROM图书WHERE第一作者=“张三”

    C.sELECT书名,出版社FROM图书WHERE”第一作者“=张三

    D.sELECT书名,出版社FROM图书WHERE”第一作者”=“张三”


    正确答案:B
    解析:查询的基本形式为“SELECT-FROM-WHERE查询块”,多个查询块可嵌套执行。SELECT说明要查询的数据,FROM说明要查询的数据来自哪个或哪些表,wHERE说明查询条件,即选择元组的条件。此处需要注意的是字段值的表示方式,当需要指定某个特定的字段值时,应当用双引号(“”)进行表示,而对于特定的字段,不需加双引号。

  • 第16题:

    图书(图书号,图书名,作者编号,出版社,出版日期)

    作者(作者姓名,作者编号,年龄,性别)

    用SQL语句查询年龄小于平均年龄的作者姓名、图书名,出版社。


    正确答案:
            

  • 第17题:

    找出"作者"库表中没有出现在"获奖名单"库表中的所有作者信息的SQL语句,(提示:使用

    NOT IN,NOT EXISTS,以及外部连接(+)三种方法),并说明那种方法是不优化的

    出版社: 出版社代码 char(2),出版社名称 varchar2(32)

    图书: 图书编号 char(8),图书名称 varchar2(128),出版社代码 char(2),作者代号

    char(4),图书简介 varchar2(128)

    作者: 作者代号 char(4),作者名称 varchar2(10),性别 char(1),年龄 number(3),文学

    方向 varchar2(64)

    获奖名单: 获奖日期 date,获奖人员 char(4)


    正确答案:
     

  • 第18题:

    查询尚未归还书的图书编号和借书日期,正确的SQL语句是( )。

    A.SELECT图书编号,借书日期FROM借阅WHERE还书日期=""

    B.SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C.SELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULL

    D.SELECT图书编号,借书日期FROM借阅WHERE还书日期


    正确答案:C
    C。【解析】库表中还书默认值为NULL,未还书记录即为还书日期为NULL的记录,条件语句中应为ISNULL。

  • 第19题:

    查询北京作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书价格降序排列,下列SQL语句正确的是( )。

    A.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    JOIN 图书.作者编号=作者.作者编号;

    WHERE 所在城市="北京";

    ORDER BY 价格 DESC

    B.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    JOIN 图书.作者编号=作者.作者编号;

    WHERE 所在城市="北京";

    ORDER BY 价格

    C.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    WHERE 图书.作者编号 = 作者.作者编号;

    AND 所在城市="北京";

    ORDER BY 价格 DESC

    D.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    WHERE 图书.作者编号 = 作者.作者编号;

    AND 所在城市 ="北京";

    ORDER BY 价格


    正确答案:C

  • 第20题:

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


    正确答案:Select 学号,图书名,出版社 from 借阅 A,图书 B
    Where A. 学号=B. 学号 and 图书名 like ‘%数据库%

  • 第21题:

    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句创建借阅R表,要求指定其主码和外码。


    正确答案:C.reate table 借阅(学号char(10) foreign key references 学生,
    图书编号 char(10)foreign keyre ferences 图书,
    借阅日期 datetime,primary key(学号,图书编号)

  • 第22题:

    单选题
    假设“图书”表中有C型字段“图书编号”,要求将图书编号以字母A开头的图书记录全部打上删除标记,可以使用SQL命令(  )。
    A

    DELETE FROM图书FOR图书编号=A

    B

    DELETE FROM图书WHERE图书编号=A%

    C

    DELETE FROM图书FOR图书编号=A*

    D

    DELETE FROM图书WHERE图书编号LIKEA%


    正确答案: B
    解析:
    LIKE用于模糊查询,它有两个通配符“%”和“_”,其中“%”可以和任意多个字符匹配,而“_”则只能与一个匹配,*为LIKE短语的通配符,是Visual FoxPro命令。

  • 第23题:

    单选题
    在图书数据库中有“作者”表(作者编号、作者名)、“读者”表(读者编号、读者名)和“图书”表(图书编号,图书名、作者编号)等3个基本情况表。如果一名读者借阅过某一本书,则认为该读者与这本书的作者之间形成了关系。为能反映作者与读者之间的关系,在数据库中应增加新的表。下列关于新表的设计中,最合理的设计是()
    A

    增加一个表:借阅表(读者编号、图书编号)

    B

    增加一个表:读者-作者表(读者编号、作者编号)

    C

    增加一个表:借阅表(读者编号、图书编号、作者编号)

    D

    增加两个表:借阅表(读者编号、图书编号),读者-作者表(读者编号、作者编号)


    正确答案: A
    解析: 暂无解析