一、查询数据
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;