两张表 一个名字学号 一个学号 成绩 科目

列出各门成绩最好的2位学生,要求显示学号、姓名、科目、成绩 用哪种方式好一些

又刷到你的题了啊!
表1 students: 学号no, 名字name
表2 scores: no, score, subject
SQL: select c.no, s.name, c.subject, c.score from scores c
inner join (select distinct subject, score from scores order by subject desc limit 2) sc on c.subject=sc.subject and c.score=sc.score
left join student s on s.no=c.no

如果是MySQL的话,新版本(好像是8.0以上)有开窗函数,你可以去试下,我没用过,怕误导你,就不写了。