计算不同 table 中 max 和 min 之间的差异

Calculating the difference between max and min in different table

Table major

Table student

如何计算计算机科学专业年龄最大和最小的年龄差?

在这种情况下,我应该使用INNER JOIN还是OUTER JOIN?

这可以使用 min()max() 聚合函数的组合轻松计算。

... should I use INNER JOIN or OUTER JOIN

在另一个 table 中保留任何没有匹配行的记录是没有意义的。这意味着内部联接在这里最有意义。


select
    m.mname
    , max(s.age) - min(s.age) as age_difference
from
    student s
    join major m
        on s.sid = m.sid
where
    m.mname = 'Computer Sciences'
group by
    m.mname