使用大于特定条目的数据字段获取条目

时间:2019-07-15 01:57:58

标签: sql

假设我有一个表,其中包含条目somefieldagename,其中name条目是唯一的。我想获得年龄大于汤姆年龄的所有作品。不指定汤姆的年龄怎么办?
我正在寻找类似

的东西
SELECT somefield WHERE age>tom.age

我也不可以特别选择age,所以这样的事情也不被允许:

SELECT somefield WHERE age>(SELECT age WHERE name=TOM)

最后一点:我只能在不相关的sql语句中选择somefield

2 个答案:

答案 0 :(得分:1)

尝试使用这样的联接:

select p.somefield from people p
join people p1 on p1.name = 'Tom' and p.age > p1.age;

https://www.db-fiddle.com/f/4PivMX85ZhU9UG6KcprT4P/0

答案 1 :(得分:0)

您可以使用相关子查询:

SELECT somefield
FROM t
WHERE EXISTS (SELECT 1
              FROM t2
              WHERE t2.name = 'TOM' and
                    t2.age < t.age
             );

您无需“选择”任何内容,只需在where子句中进行比较即可。