查询前的表浏览:

mysql经典查询案例

1. 查询“1”课程比“2”课程成绩高的所有学生的学号

select sc1.sid from sc sc1 join sc sc2 on sc1.sid=sc2.sid where sc1.score>sc2.score;

说明:在针对同一关键字下的不同项目 可以将一张表利用取别名的方法出现两张表,使得查找不至于混淆。

mysql经典查询案例

2. 查询所有同学的学号、姓名、选课数、总成绩

select student.sid,student.snam,count(cid),sum(score) from student left join sc on

student.sid=sc.sid group by student.sid;

说明:sc的表中sid并不是唯一的,所以要用group by 使得sc被分成以sid为依据的几个小组;

mysql经典查询案例
3.查询姓的老师的个数
mysql经典查询案例
4.查询没学过叶平老师课的同学的学号、姓名

说明:由于老师姓名是在表teacher中姓名在表student中,两者之间需要表sc,course来关联,所以要用到四张表查询;

mysql经典查询案例
5.查询学过“1”并且也学过编号“2”课程的同学的学号、姓名
mysql经典查询案例

6.查询学过叶平老师所教的所有课的同学的学号、姓名

mysql经典查询案例
7.查询所有课程成绩小于60分的同学的学号、姓名

说明:查找所有课程小于60分比较复杂,所以实际操作取对立集合
mysql经典查询案例
8. 查询没有学全所有课的同学的学号、姓名

说明:因为在表sc中每个sid下的课程有重复,如果只用count(cid)总是查不到没有学全所有课程的同学;
mysql经典查询案例

9.查询平均成绩大于60分的同学的学号和平均成绩

mysql经典查询案例

 

相关文章:

  • 2021-07-23
  • 2021-05-10
  • 2021-11-08
  • 2021-10-04
  • 2021-10-26
  • 2022-12-23
  • 2021-09-15
猜你喜欢
  • 2021-07-26
  • 2021-11-06
  • 2022-12-23
  • 2021-10-06
  • 2021-06-05
  • 2021-07-28
  • 2021-06-22
相关资源
相似解决方案