PTA——连接查询——Mysql——(11-20)

10-11 查询S001学生选修而S003学生未选修的课程(MSSQL) (10 分)
本题目要求编写SQL语句,
检索出 sc表中学号为S001的学生选修的而S003学号学生未选修的课程号。
注意:查询结果忽略顺序只对比数据。

提示:MSSQLServer 评测SQL语句。

/*检索出sc表中学号为S001的学生选修的而S003学号学生未选修的课程号*/

select cno 课程号 from sc
where cno not in(
    select a.cno as 课程名  from sc a,sc b
    where a.cno = b.cno 
    and (a.sno = 's001' and b.sno = 's003')) 
    and a.sno = 's001';

10-12 查询选修课程2门以上且成绩都在80分以上的学生(MSSQL) (10 分)
查询选修课程数在2门以上(含2门)且所有选课成绩都在80分以上(含80分)的学生的姓名、专业名及总学分。

提示:MSSQLServer 评测SQL语句。

/*  查询选修课程数在2门以上(含2门)且所有选课成绩都在80分以上(含80分)的学生的姓名、专业名及总学分。  */

select SNAME 姓名,mname 专业名,sum(CREDIT) 总学分
from stu 
join sc on stu.sno=sc.sno
join cou on sc.cno=cou.cno 
join major on stu.mno=major.mno
group by stu.sname,mname
having min(grade)>=80 and count(sname)>=2;


10-13 统计有学生选修的课程的门数,多人选修同一门只算一门 (5 分)
本题目要求编写SQL语句,
统计``sc```表中有学生选修的课程的门数,多人选修同一门只算一门,要求结果中列名显示“门数”
提示:请使用SELECT语句作答。

/*哈哈最简单的一题*/
select count(distinct  cno) 门数 from sc

10-14 统计选修人数最多的3门课 (5 分)
本题目要求编写SQL语句,
统计出``sc```表中选修人数最多的3门课,要求结果中列名分别显示“课程号”、“选修人数”。

提示:请使用SELECT语句作答。

#统计出sc表中选修人数最多的3门课
#要求结果中列名分别显示“课程号”、“选修人数”。

select cno 课程号, count(*) 选修人数
from sc
group by cno
order by count(*) desc
limit 3;

10-15 查询与“陆毅”同一个系的同学姓名 (5 分)
本题目要求编写SQL语句,
检索出students表中与“陆毅”同一个系的同学姓名。

提示:请使用嵌套查询语句作答。

#检索出students表中与“陆毅”同一个系的同学姓名。

select sname
from students
where sname!='陆毅' and 
sdept in (select sdept from students where sname='陆毅')

10-16 查询没有任何评论信息的商品id和name(多表查询) (10 分)
本题目要求编写SQL语句,
结合sh_goods表和sh_goods_comment表,查询在sh_goods_comment表中没有任何评论信息的商品记录。

提示:请使用SELECT语句作答。

select id,name from sh_goods where id not in(select distinct goods_id from sh_goods_comment);
/* 结合sh_goods表和sh_goods_comment表,信息的商品记录。 */

10-17 查询用户评分为5星的商品的评论信息(多表查询) (10 分)
本题目要求编写SQL语句,
结合sh_goods表和sh_goods_comment表,查询用户评分为5星的商品对应的评论信息。

提示:请使用SELECT语句作答。

select name,sh_goods_comment.content
from sh_goods join sh_goods_comment on sh_goods.id=sh_goods_comment.goods_id 
where score=5.0;
/* 结合sh_goods表和sh_goods_comment表,查询用户评分为5星的商品对应的评论信息。 */

10-18 查询五星商品对应的商品分类信息(多表查询) (10 分)
本题目要求编写SQL语句,
结合sh_goods表和sh_goods_category表,查询所有用户评分为5分的商品对应的商品id、商品id、分类id和分类名称和用户评分。注意,查询结果显示字段依据输出样例设置。

提示:以sh_goods表为主表。

select sh_goods.id gid,sh_goods_category.id cid,sh_goods_category.name cname,score
from sh_goods 
join sh_goods_category 
on sh_goods.category_id=sh_goods_category.id
where score=5;


/* 结合sh_goods表和sh_goods_category表,
查询所有用户评分为5分的商品对应的
商品id、分类id和分类名称和用户评分。

注意,查询结果显示字段依据输出样例设置。
*/

10-19 查询商品价格小于500的商品分类名称(多表查询) (10 分)
本题目要求编写SQL语句,
从sh_goods_category表中获取分类中商品价格小于500的商品对应的分类名称。

提示:请使用SELECT语句作答。

select name
from sh_goods_category
where id in (select category_id from sh_goods where price<=500)



/* 从sh_goods_category表中获取分类中商品价格小于500的商品对应的分类名称。 */

10-20 检索选修了三门课以上的学生学号、姓名、院部。 (10 分)
题干:
检索选修了三门课以上的学生学号、姓名、院部。

提示:请使用SELECT语句作答。

select student.sno,sname,dept
from student join score on student.sno=score.sno
group by score.sno
having count(*)>=3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值