计算不同表中最大值和最小值之间的差值

时间:2017-07-17 03:03:29

标签: sql oracle-apex

Table major

Table student

如何计算最老和最年轻的计算机科学专业之间的年龄差异?

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

1 个答案:

答案 0 :(得分:0)

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

  

......我应该使用INNER JOIN还是OUTER JOIN

保留其他表中没有匹配行的记录是没有意义的。这意味着内部联接在这里最有意义。

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