2013-03-24 32 views
2

我對SQL中的表有以下架構。查找最大值而不具有聚合函數

Owner (ownerid, name, phone, age) 

我要求寫一份聲明,以在數據庫中找到的最古老的擁有者不使用任何聚合函數如MAX。我也不允許使用任何特定於任何DBMS的東西。

感謝您的幫助。

+0

這是功課還是一些面試問題,旨在向你展示面試官是多麼聰明? – 2013-03-24 20:54:19

+0

它來自我在統一數據庫系統上學習的一門課的過去考試報告。 – 2013-03-24 21:54:58

+0

所以這是一個問題,告訴你你的老師有多聰明:) – 2013-03-24 22:08:40

回答

2

可以使用EXISTS運營商,這是對所有符合SQL-RDBMS標準:

SELECT age 
FROM Owner o1 
WHERE NOT EXISTS (SELECT 1 FROM Owner o2 WHERE o2.age > o1.age) 

此查詢背後的想法是不言自明的:最古老的老闆就是這樣一個老闆o1不存在其他所有者o2,使o2o1舊。