mysql練習題
1、自行創建測試數據
2、查詢“生物”課程比“物理”課程成績高的所有學生的學號;
3、查詢平均成績大於60分的同學的學號和平均成績;
4、查詢所有同學的學號、姓名、選課數、總成績;
select student_id,sname,count(corse_id),sum(number) from score
left join course on score.corse_id=course.cid
left join student on score.student_id=student.sid
left join class on student.class_id=class.cid
left join teacher on course.teacher_id=teacher.tid
group by student_id;
5、查詢姓“李”的老師的個數;
select count(tid),tname from teacher where tname like ‘波%‘ group by tname;6、查詢沒學過“葉平”老師課的同學的學號、姓名;
mysql> select student_id,cname from score
-> left join course on score.corse_id=course.cid
-> left join student on score.student_id=student.sid
-> left join class on student.class_id=class.cid
-> left join teacher on course.teacher_id=teacher.tid
-> where tname!="葉平";
7、查詢學過“001”並且也學過編號“002”課程的同學的學號、姓名;
8、查詢學過“葉平”老師所教的所有課的同學的學號、姓名;
mysql> select student_id,cname from score
-> left join course on score.corse_id=course.cid
-> left join student on score.student_id=student.sid
-> left join class on student.class_id=class.cid
-> left join teacher on course.teacher_id=teacher.tid
-> where tname="葉平";
9、查詢課程編號“002”的成績比課程編號“001”課程低的所有同學的學號、姓名;
10、查詢有課程成績小於60分的同學的學號、姓名;
select student_id,sname from score
left join course on score.corse_id=course.cid
left join student on score.student_id=student.sid
left join class on student.class_id=class.cid
left join teacher on course.teacher_id=teacher.tid
where number<60;
11、查詢沒有學全所有課的同學的學號、姓名;
12、查詢至少有一門課與學號為“001”的同學所學相同的同學的學號和姓名;
13、查詢至少學過學號為“001”同學所選課程中任意一門課的其他同學學號和姓名;
14、查詢和“002”號的同學學習的課程完全相同的其他同學學號和姓名;
15、刪除學習“葉平”老師課的SC表記錄;
16、向SC表中插入一些記錄,這些記錄要求符合以下條件:①沒有上過編號“002”課程的同學學號;②插入“002”號課程的平均成績;
17、按平均成績從低到高顯示所有學生的“語文”、“數學”、“英語”三門的課程成績,按如下形式顯示: 學生ID,語文,數學,英語,有效課程數,有效平均分;
18、查詢各科成績最高和最低的分:以如下形式顯示:課程ID,最高分,最低分;
19、按各科平均成績從低到高和及格率的百分數從高到低順序;
20、課程平均分從高到低顯示(現實任課老師);
21、查詢各科成績前三名的記錄:(不考慮成績並列情況)
22、查詢每門課程被選修的學生數;
23、查詢出只選修了一門課程的全部學生的學號和姓名;
24、查詢男生、女生的人數;
25、查詢姓“張”的學生名單;
26、查詢同名同姓學生名單,並統計同名人數;
27、查詢每門課程的平均成績,結果按平均成績升序排列,平均成績相同時,按課程號降序排列;
28、查詢平均成績大於85的所有學生的學號、姓名和平均成績;
29、查詢課程名稱為“數學”,且分數低於60的學生姓名和分數;
30、查詢課程編號為003且課程成績在80分以上的學生的學號和姓名;
31、求選了課程的學生人數
32、查詢選修“楊艷”老師所授課程的學生中,成績最高的學生姓名及其成績;
33、查詢各個課程及相應的選修人數;
34、查詢不同課程但成績相同的學生的學號、課程號、學生成績;
35、查詢每門課程成績最好的前兩名;
36、檢索至少選修兩門課程的學生學號;
37、查詢全部學生都選修的課程的課程號和課程名;
38、查詢沒學過“葉平”老師講授的任一門課程的學生姓名;
39、查詢兩門以上不及格課程的同學的學號及其平均成績;
40、檢索“004”課程分數小於60,按分數降序排列的同學學號;
41、刪除“002”同學的“001”課程的成績;
mysql練習題