A. GROUP BY WHERE HAVING
B. WHE REGROUP BY HAVING
C. WHE REHAVING GROUP BY
D. HAVING WHERE GROUP BY
第1题
SELECT [ALL|DISTINCT]<目标列表达式 >[,< 目标列表达式>]...
FROM <表名或视图名 >[,<表名或视图名>]...
[WHERE<条件表达式>]
[GROUP BY <列名 1> [HAVING <条件表达式>]]
[ORDER BY〈列名 2> [ASC|DESC]]
其含义是:根据WHERE子句的条件表达式,从FROM子句中指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROUP子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一组。如果有ORDER子句,结果表要按<列名2>的值升序或降序排列。
某学校学生、教师及课程关系如下:
学生由学号唯一标识,学生相关信息包括姓名、性别、专业号和年龄等;
教师由工作证号唯一标识,教师相关信息包括姓名,年龄和所授课程号等;
课程由课程号唯一标识,课程相关信息包括课程名,学分,授课教师工作证号及授课时间等;
选课信息包括选课学生学号,课程号及考试成绩等。
根据关系模型完成数据库设计,包括数据库表、键值;(8分)
用SQL语句表达如下查询:(5分)
“张大民(教师名)”讲授的课程名和在这些课程中考试超过90分的学生的学号及姓名, 按分数的降序排列。
第2题
A.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
B.SELECT 单位,SUM(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
C.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 ORDER BY 单位
D.SELECT 单位,COUNT(借阅.借书证号)FROM 借阅,读者WHERE 借阅.借书证号=读者.借书证号 HAVING 单位
第3题
A.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
B.SELECT 单位,SUM(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
C.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 ORDER BY 单位
D.SELECT 单位,COUNT(借阅.借书证号)FROM 借阅,读者WHERE 借阅.借书证号=读者.借书证号 HAVING 单位
第4题
A.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
B.SELECT 单位,SUM(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
C.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 ORDER BY 单位
D.SELECT 单位,COUNT(借阅.借书证号)FROM 借阅,读者WHERE 借阅.借书证号=读者.借书证号 HAVING 单位
第5题
A.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 NOT IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT([<sup>*</sup>])=1)
B.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT([<sup>*</sup>])=1)
C.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 WHERE COUNT([<sup>*</sup>])=1)
D.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM借阅 ORDER BY 借书证号 HAVING COUNT([<sup>*</sup>])=1)
第6题
A.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 NOT IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
B.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
C.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 WHERE COUNT(*)=1)
D.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM借阅 ORDER BY 借书证号 HAVING COUNT(*)=1)
第7题
A.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 NOT IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
B.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
C.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 WHERE COUNT(*)=1)
D.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM借阅 ORDER BY 借书证号 HAVING COUNT(*)=1)
第8题
(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);
第9题
A)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号ORDERBY单位
B)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号GROUPBY单位
C)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE; &&
借阅.借书证号=读者.借书证号HAVING单位
D)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号GROUPBY单位
第10题
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)
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!