计算机二级

查询北京作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书价格降序排列,下列SQL语句正确的是( )。A.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;JOIN 图书.作者编号=作者.作者编号;WHERE 所在城市="北京";ORDER BY 价格 DESCB.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;JOIN 图书.作者编号=作者.作者编号;WHERE 所在城市="北京";ORDER BY 价格C.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;W

题目

查询北京作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书价格降序排列,下列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
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如果要在藏书中查询“电子工业出版社”和“清华出版社”的图书,请对下面的SQL语句填空。

SELECT书名,作者,出版单位;

FROM图书管理!图书;

WHERE出版单位( )


正确答案:
IN(“电子”,“清华”)或IN(“电子工业出版社”,“清华出版社”)或出版单位=“电子工业出版社”.OR.出版单位=“清华出版社”注:出版单位的次序不限【解析】使用IN实现嵌套查询,或者使用相关条件查询。

第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题:

如果要在藏书中查询“高等教育出版社”和“科学出版社”的图书,请对下面的SQL 语句填空。 SELECT 书名,作者,出版单位; FROM 图书管理!图书; WHERE 出版单位【 】


正确答案:IN(“高等教育出版社”“科学出版社”)或=‘高等教育出版社’OR 出版单位=‘科学出版社’
IN:集合运算符包含的意思,常用来实现嵌套查询。

第4题:

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

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

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


正确答案:
        

第5题:

请完成下列查询的SQL语句。

(1)查询名称中包含“数据库”的图书的图书名称,作者,出版社和出版日期。

SELECT (d)

FROM 图书

WHERE 图书名称 (e);

(2)查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图书名称和出版社。

SELECT 图书名称,出版社

FROM 图书

WHERE NOT EXISTS (

SELECT (f)

FROM 订单明细

WHERE (g));

(3)查询订购图书数量最多的会员名及其订购的数量。

SELECT 用户名, (h)

FROM订单,订单明细

WHERE (i)

GROUP BY 用户名

HAVING (j)

(SELECT SUM (数量)

FROM 订单,订单明细

WHERE 订单.订单编号=订单明细.订单编号

GROUP BY 用户名);

(4)为了统计会员的购买行为信息,实施有意义的客户关怀策略,查询会员的平均订购间隔时间,考虑多次购买图书和一次购买图书的情况(其中,DATEDIFF函数表示两个日期之间的天数)。

SELECT 用户名,CASE WHEN (k)

THEN DATEDIFF (MAX (订购日期),MIN (订购日期)) / (1)

ELSE DATEDIFF(CURRENT_TIMESTAMP,MIN(订购日期))

END AS AVG GAP

FROM 订单

(m);


正确答案:(1)(d)图书名称作者出版社出版日期 (e)LIKE'%数据库%' (2)(f)* (g)图书.图书编号=订单明细.图书编号 (3)(h)SUM(数量) (i)订单.订单编号=订单明细.订单编号 (j) SUM(数量)>=ALL (4)(k)COUNT(*)>1 (l)(COUNT(*)-1或COUNT(*)也给分 (m)GROUP BY 用户名
(1)(d)图书名称,作者,出版社,出版日期 (e)LIKE'%数据库%' (2)(f)* (g)图书.图书编号=订单明细.图书编号 (3)(h)SUM(数量) (i)订单.订单编号=订单明细.订单编号 (j) SUM(数量)>=ALL (4)(k)COUNT(*)>1 (l)(COUNT(*)-1或COUNT(*)也给分 (m)GROUP BY 用户名 解析:本题考查查询语句SELECT的语法,查询是SQL的重要内容。
(1)考查基本的SQL查询语法,SELECT后是要查询的属性,查询条件是包含“数据库”的图书,因此用LIKE关键字。
(2)考查NOTEXISTS语法,(f)处填*。该查询为相关查询,因此(g)处的条件为图书.图书编号=订单明细.图书编号。
(3)考查较复杂的嵌套查询、分组查询和ALL关键字。子查询得到所有会员的订购数,题目要求查询订购数最多的会员名和订购数,因此(j)的答案为SUM(数量)>=ALL。
(4)考查分组查询、聚集函数和CASE语法。平均订购间隔时间对一次购买和多次购买的会员有不同的计算方式,对一次购买的会员,平均订购时间为当前时间—订购时间;而对于多次购买的会员,平均订购时间为(最晚的订购时间—最早的订购时间)/间隔数,间隔数为订购数-1。

第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题:

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

第8题:

以下2题有作者表和图书表如下: 作者 作者编号 作者姓名 所在城市 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

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


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

第9题:

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

图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为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说明查询条件,即选择元组的条件。此处需要注意的是字段值的表示方式,当需要指定某个特定的字段值时,应当用双引号(“”)进行表示,而对于特定的字段,不需加双引号。

第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(*)>=2GROUP BY图书.作者编号


正确答案:B
B。【解析】本题要求掌握HAVING子句的功能及作用,选项A中,没有对查询进行分组;选项C中SET短语错误,对分组条件做进一步限定,需要HAVING子句,选项D中也存在语法错误,HAVING子句只能跟在GROUPBY短语后一起使用。

更多相关问题