当前位置:   article > 正文

头歌平台MySQL数据库--连接查询进阶_头歌mysql数据库 - 连接查询

头歌mysql数据库 - 连接查询

第1关:连接查询——多表联合查询

任务描述

本关任务:使用联合查询实现对多数据表的查询操作。

相关知识

为了完成本关任务,你需要掌握:
1.什么是多表联合查询;
2.如何使用多表联合查询。

########## 查询选修了编号为'c01'课程的学生学号、姓名和成绩 ##########

select s.sno,sname,score from s,sc where sc.cno='c01' and s.sno=sc.sno;

########## 查询与'刘伟'在同一个系学习的学生学号、姓名及所在院系 ##########

select sno,sname,dept from s where dept=(select dept from s where sname='刘伟') and sname !='刘伟';

########## 查询选修了'数据结构'课程且成绩大于等于90的学号、姓名和成绩 ##########

select s.sno,s.sname,sc.score from s,c,sc where c.cname='数据结构' and sc.score>=90 and s.sno=sc.sno and c.cno=sc.cno;

########## 查询选修编号为'c01'或'c02'课程的学生姓名 ##########

select s.sname from s,sc where s.sno=sc.sno and sc.cno='c01' or sc.sno='c02';

第2关:连接查询——内连接查询

任务描述

本关任务:使用内连接查询实现对多数据表的查询操作。

相关知识

为了完成本关任务,你需要掌握:
1.什么是内连接查询;
2.如何使用内连接查询。

########## 查询与'张乐乐'出生年份相同的学生学号、姓名、所在院系和年龄(别名age,使用TimeStampDiff()函数计算到2023年4月1日的年龄) ##########

select sno,sname,dept,timestampdiff(year,dob,'2023-4-1') as age from s where extract(year from dob)=2000 and sname !='张乐乐';

########## 查询每个学生的学号、姓名、选修课程号、课程名及成绩 ##########

select s.sno,sname,c.cno,cname,sc.score from s,c,sc where s.sno=sc.sno and c.cno=sc.cno;
 

########## 查询选修课程数大于等于2门的学生学号、姓名及平均成绩(别名avg),查询结果按平均成绩降序输出 ##########

select s.sno,sname,avg(sc.score) as avg from s,sc group by sc.sno having count(sc.sno)>=2 and s.sno=sc.sno;

第3关:连接查询——左外连接查询

任务描述

本关任务:使用左外连接查询实现对多数据表的查询操作。

相关知识

为了完成本关任务,你需要掌握:
1.什么是左外连接查询;
2.如何使用左外连接查询。

########## 查询所有学生的选课情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩 ##########

select s.sno,sname,sc.cno,score from s left outer join (c left join sc on c.cno=sc.cno) on s.sno=sc.sno;

第4关:连接查询——右外连接查询

任务描述

本关任务:使用右外连接查询实现对多数据表的查询操作。

相关知识

为了完成本关任务,你需要掌握:
1.什么是右外连接查询;
2.如何使用右外连接查询。

########## 查询所有课程的被选情况(包括从未被选修的课程),要求显示选课的学生学号、课程编号、课程名和成绩 ##########

select s.sno,c.cno,cname,score from s right join (c left join sc on c.cno=sc.cno) on s.sno=sc.sno;

第5关:连接查询——交叉连接查询

任务描述

本关任务:使用交叉连接查询实现对多数据表的查询操作。

相关知识

为了完成本关任务,你需要掌握:
1.什么是交叉连接查询;
2.如何使用交叉连接查询。

########## 查询所有学生的可能选课组合,结果集包括学号、姓名、课程号及课程名 ##########

select s.sno,sname,c.cno,cname from s cross join c; 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/417071
推荐阅读
相关标签
  

闽ICP备14008679号