1. 程式人生 > 實用技巧 >mysql——面試題

mysql——面試題

請看下面三張表:
學生表(學生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;
  1. 用一條 SQL語句查詢出每門課都大於 80 分的學生姓名?
  select DISTINCT name from grade where name not in (select name from grade where fenshu <=80)