2017-07-17 97 views
1

Table major计算最大值和最小值之间的差异在不同的表

Table student

如何计算最古老和最年轻的计算机科学主要之间的年龄差距?

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

+1

请加你到目前为止做了什么。 –

+0

是否保证学生在这个数据集中只有一个专业? – Jacobm001

+0

到目前为止,我只能弄清楚如何在学生表中打印出年龄的最大值和最小值。选择min(age)作为min_age,max(age)作为max_age from student;是的,这仅仅是我为实践而创建的一个虚拟数据集。我需要熟悉JOIN案例。我会很感激任何提示。 –

回答

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 
+0

哦,我明白了。所以为了选择'年龄'我需要隔离其他所有东西。感谢您的时间。 –

相关问题