2017-07-17 59 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

哦,我明白了。所以爲了選擇'年齡'我需要隔離其他所有東西。感謝您的時間。 –

相關問題