Sql 从另一个表中使用group by column选择max
鉴于下表:Sql 从另一个表中使用group by column选择max,sql,join,group-by,grouping,max,Sql,Join,Group By,Grouping,Max,鉴于下表: tableA(v1,v2) tableB(v3,v4) tableC(v5,v6) 我想写一个类似以下的查询: SELECT MAX(v1) FROM tableA WHERE v2 IN (SELECT v3 FROM tableB WHERE v4 IN (SELECT v5 FROM tableC )
tableA(v1,v2)
tableB(v3,v4)
tableC(v5,v6)
我想写一个类似以下的查询:
SELECT MAX(v1)
FROM tableA
WHERE v2 IN (SELECT v3
FROM tableB
WHERE v4 IN (SELECT v5
FROM tableC
)
)
GROUP BY v6
只有在中使用才能实现类似的功能吗??我知道如何通过在三个表之间使用联接来编写它,但我不想使用联接。不,如果不使用
JOIN
(至少在MS-SQL中)就不可能做到这一点
GROUPBY子句中的表达式可以包含FROM子句中的表、派生表或视图的列。列不需要出现在SELECT子句列表中
只是出于兴趣,为什么不想使用联接?不想使用联接就像不想使用
where
,或order by
。。。它们是Sql的基础。在我使用的dbms中,中的比使用JOIN
快得多,因为我只想将一个表中的一个值与另一个表中的一个值进行比较。。。所以我只是想知道是否可以做像上面那样的事情。。