软件水平考试

已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图叧有计算机类的图书。CREATE( )AS SELECT图书编号,图书名称,作者,出版社,出版日期FROM图书WHERE图书类型=计算机'(请作答此空);A.FORALL B.PUBLIC C.WITH CHECK OPTION D.WITH GRANT OPTION

题目
已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图叧有计算机类的图书。CREATE( )AS SELECT图书编号,图书名称,作者,出版社,出版日期FROM图书WHERE图书类型=计算机'(请作答此空);

A.FORALL
B.PUBLIC
C.WITH CHECK OPTION
D.WITH GRANT OPTION
参考答案和解析
答案:C
解析:
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 35 )查询所有 “ 工程师 ” 读者借阅过的图书编号,正确的 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

第2题:

查询“上海”作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书“价格”降序排列,下列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短语的功能是对查询结果按指定字段进行排序。

第3题:

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

A ) DELETE FROM 图书 FOR 图书编号 =''A"

B ) DELETE FROM 图书 WHERE 图书编号 = " A% "

C ) DELETE FROM 图书 FOR 图书编号 ="A * "

D ) DELETE FROM 图书 WHERE 图书编号 LIKE "A%"


正确答案:D

第4题:

根据以下资料,回答下列各题: 基于图书表、读者表和借阅表三个数据库表,它们的结构如下: 图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字; 读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号 为主关键字; 借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书证号共同构成主关键字。 查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是( )。

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

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

C.SELECT书名,出版社FROM图书WHERE"第一作者"=张三

D.SELECT书名,出版社FROM图书WHERE"第一作者"="张三"


正确答案:B
B。【解析】查询条件语句中字段名不能用引号,字段内容为C型的条件值需要用引号。

第5题:

●已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图只有计算机类的图书。

CREATE (18)

AS SELECT图书编号,图书名称,作者,出版社,出版日期

FROM图书

WHERE图书类型='计算机'

(19) ;

(18)A.TABLE Computer-BOOK

B. VIEW Computer-BOOK

C. Computer-BOOKTABLE

D. Computer-BOOKVIEW

(19) A.FORALL

B. PUBLIC

C.WITH CHECK OPTION

D.WITH GRANT OPTION


正确答案:B,C

第6题:

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

作者 作者编号 作者姓名 所在城市

1001 王力 北京

1002 刘方 北京

1003 张剑 上海

1004 程红 上海

1005 张进 上海

图书 图书编号 书名 出版单位 价格 作者编号

0001 计算机应用 清华出版社 26.50 1001

0002 C++ 电子工业出版社 32.00 1001

0003 计算机基础知识 电子工业出版社 28.00 1002

0004 网络应用 清华出版社 24.50 1003

0005 数据库应用 清华出版社 26.00 1003

0006 数据库组成原理 清华出版社 23.00 1003

0007 Java 电子工业出版社 27.50 1004

0008 网页设计 电子工业出版社 31.00 1004

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
解析:本题的SQL语句的含义是通过作者表和图书表的内部联接查询符合条件的记录,注意表间关联字段的选择,以及条件连接的逻辑运算符。使用ORDER BY短语可对查询结果排序,GROUP BY短语用来记录分组。选项A)和选项B)都存在查询条件和表联接的语法错误,选项D)中,查询结果没有按"价格"降序排列。

第7题:

求至少出版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短语之后。

第8题:

第 ( 30 ) 到第( 35 )题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:

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

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

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

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

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

B ) SELECT 书名,出版社 FROM 图书 WHERE 第一作者二 " 张三 "

C ) SELECT 书名,出版社 FROM 图书 WHERE " 第一作者 " =张三

D ) SELECT 书名,出版社 FROM 图书 WHERE " 第一作者 "=" 张三 "


正确答案:B

第9题:

查询所有“工程师”读者借阅过的图书编号,正确的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。【解析】这是一个基于多个关系的查询,查询结果出自一个关系,但相关条件却涉及多个关系。所以使用嵌套查询。

第10题:

求至少出版两本以上图书的作者姓名及数量,下列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短语后一起使用。

更多相关问题