SQL条件提取成绩表 不增加列

“Score"表包含三列:Name, Course, Score, 即人名和课程都是可重复的

如何提取数学分数大于语文分数的学生成绩记录?

试了join, 但是结果是6列,也就是增加了列数,我希望列数不变

(SELECT *
FROM SCORE
WHERE course = "数学") a
JOIN
(SELECT *
FROM SCORE
WHERE course = "语文") b
ON a.name = b.name AND a.score > b.score

谢谢指教

SELECT * FROM score WHERE name in (
SELECT a.name FROM
(SELECT *
FROM SCORE
WHERE course = "数学") a
JOIN
(SELECT *
FROM SCORE
WHERE course = "语文") b
ON a.name = b.name AND a.score > b.score
)

这个可以采用列转行 求出 差值 > 0 的数据,然后再使用 union进行行转列 !

img