題目:用一條SQL語句查詢出每門成績都大於80分的學生姓名。
先給出結果,然后給出分析。
SELECT name,min(score) FROM table GROUP BY(name) HAVING min(score)>80;
第一步:題目中學生每一門課程的成績都要大於80分,需要使用聚集函數min()求出成績的最小值,大於80分才符合題目的要求。
SELECT name, min(score) FROM table1;
這里只能給出學生成績的最小值
第二步:題目中是每一門成績,重點在每,需要按學生姓名進行分組,GROUP BY (name)得出學生所有科目的成績。
第三步:通過having子句篩選出結果。
SELECT name,min(score) FROM table GROUP BY(name) HAVING min(score)>80;