--- tags: database --- # 12/20 1 查詢學生有任何一門課程成績在 70 分(含)以下的姓名、課程名稱和分數 ``` SELECT s.s_name,c.c_name,r.r_result FROM students as s,results as r,classes as c WHERE s.s_no=r.s_no and r.c_no=c.c_no and r.r_result<=70 ``` 2 查詢平均成績大於 85 的所有學生的學號、姓名和平均成績; ``` SELECT s.s_no,s.s_name,AVG(r.r_result) FROM students as s,results as r WHERE s.s_no=r.s_no GROUP BY s.s_no,s.s_name HAVING AVG(r.r_result)>85 ``` 3 查詢各課程分數大於總平均成績的所有學生的學號、姓名和課程、成績; ``` SELECT s.s_no,s.s_name,r.c_no,r.r_result FROM students as s,results as r WHERE r.r_result>( SELECT AVG(r.r_result) FROM results as r ) and r.s_no=s.s_no ``` 4 查詢所有的學生平均成績及其名次; ``` SELECT s.s_no,AVG(r_result) '平均成績',RANK() OVER (ORDER BY AVG(r_result) DESC) 'rank' FROM results as r,students as s WHERE r.s_no=s.s_no GROUP BY s.s_no ``` 5 請查詢所有學生的姓氏及名字,顯示學號、姓氏及名字。 ``` SELECT s.s_no,left(s.s_name,1),RIGHT(s.s_name,len(s.s_name)-1) FROM students AS s ```