MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)

时间:2024-04-06 17:31:31

1.掌握SELECT语句的基本语法格式。

2.掌握SELECT语句的执行方法。

3.掌握SELECT语句的from子句,多表连接查询

 使用数据库choose,完成以下数据查询要求。 

  • 检索平均成绩高于70分的学生的学生信息及平均成绩。
  • select student.student_no,student_name,avg(score) from choose,student where choose.student_no=student.student_no group by student.student_no, student_name having avg(score)>70;   ( 全连接  )

思考:join连接怎么实现?

  • select student.student_no,student_name,avg(score) from student  join choose using(student_no) group by student.student_no, student_name having avg(score)>70;

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  •  按照学生的学号以及课程号升序的方式,查询所有学生的课程分数。()
  1.  select student.student_no,student_name,course_no,score from choose, student where student.student_no=choose.student_no order by student_no desc,course_no desc;   ( 13 rows in set  全连接   )
  2. select student.student_no,student_name,course_no,score from student join choose on student.student_no=choose.student_no order by student_no desc,course_no desc;( 13 rows in set  inner连接   )
  3.  select student.student_no,student_name,course_no,score from student left join choose on student.student_no=choose.student_no order by student_no desc,course_no desc;( 22 rows in set  left join连接   )
  4. select student.student_no,student_name,course_no,score from student right
  5.  join choose on student.student_no=choose.student_no order by student_no desc,course_no desc;( 13 rows in set  right join连接   )

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 统计学生“张三光”的课程总成绩

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 统计学生“张三光的课程平均成绩 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 检索分配有班级的学生信息、班级信息 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 检索所有学生对应的班级信息 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 检索所有班级的学生信息 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 查询所有考生的学号、姓名、参加考试的课程名及其成绩。 
  1. select student.student_no,student.student_name,course.course_no, course.course_name, choose.score from  student join choose on student.student_no = choose.student_no join course on  choose.course_no = course.course_no ;  ( inner join)
  2. select student.student_no,student.student_name,course.course_no, course.course_name, choose.score from  student,course, choose where student.student_no = choose.student_no and choose.course_no = course.course_no ; (全连接)

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 检索“2012自动化2班”的所有学生、所有课程的成绩 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 检索没有录入成绩的学生及对应的课程信息 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 检索成绩优秀(80-90)的学生及其对应的课程信息 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 查询学生“2012001”已经修读了哪些课程 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 统计哪些学生修读了“2”号课程 ,查询结果先按院系排序,院系相同的按班级排序,班级相同的按学号排序 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)


  • 统计修读人数少于30人的所有课程信息(提示:注意统计结果应包含没有学生修读的课程) 

MySQL数据库命令行【篇章八】之数据库查询四(group by+count+order by+asc+desc)