一、查询数据
ymysql-面试50题-2-CSDN博客
二、问题
21.查询男生、女生人数
mysql> select ssex, count(*) from student
     -> group by ssex;
22.查询名字中含有「风」字的学生信息
mysql> select *
     -> from student
     -> where student.Sname like '%风%'
     -> ;
23.查询同名同性学生名单,并统计同名人数
mysql> select sname, count(*) from student
     -> group by sname
     -> having count(*)>1;
24.查询 1990 年出生的学生名单
mysql> select *
     -> from student
     -> where YEAR(student.Sage)=1990;
25.查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列
mysql> select sc.CId,avg(sc.score) from sc,course
     -> group by sc.cid
     -> order by avg(sc.score) desc,cid asc;
26.查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩
mysql> select student.sid, AVG(sc.score) as aver from student, sc
     -> where student.sid = sc.sid
     -> group by sc.sid
     -> having aver > 85;
27.查询课程名称为「数学」,且分数低于 60 的学生姓名和分数
mysql> select student.sname, sc.score from student, sc, course
     -> where student.sid = sc.sid
     -> and course.cid = sc.cid
     -> and course.cname = "数学"
     -> and sc.score < 60;
28.查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)
mysql> select student.sname, cid, score from student
     -> left join sc
     -> on student.sid = sc.sid;
29查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数
mysql> select student.sname, course.cname,sc.score from student,course,sc
     -> where sc.score>70
     -> and student.sid = sc.sid
     -> and sc.cid = course.cid;
30.查询不及格的课程
mysql> select DISTINCT sc.CId
     -> from sc
     -> where sc.score <60;










