mysql——面試題
阿新 • • 發佈:2020-07-13
請看下面三張表:
學生表(學生id,姓名,性別,分數) )student(s_id, name, sex, score)
班級表(班級id,班級名稱) class(c_id, c_name)
學生班級表(班級id,學生id) student_class(s_id,c_id)
1.查詢一班得分在80分以上或者等於60,61,62的學生
select s_id,name,score,c_name from student where score>80 or score in(60,61,62) and s_id in(select a.s_id from student_class a,class b where a.c_id=b.c_id and a.c_name='一班'); SELECT s.s_id,s.name,s.score,sc.c_id,c.c_name from student s LEFT JOIN student_class sc on s.s_id = sc.s_id LEFT JOIN class c on sc.c_id=c.c_id where (s.score>80 or s.score in(60,61,62)) and c.c_name='一班';
2.査詢所有班級的名稱,和所有班中女生人數和女生的平均分。
select count(a.sex),avg(score),c.c_name from student a left JOIN student_class b on a.s_id=b.s_id LEFT JOIN class c on b.c_id=c.c_id where a.sex ='女' GROUP BY c.c_name;
- 用一條 SQL語句查詢出每門課都大於 80 分的學生姓名?
select DISTINCT name from grade where name not in (select name from grade where fenshu <=80)