鉴于以下表格:
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
这样的事情只能通过使用IN吗?我知道如何通过在我的三个表之间使用JOIN来编写它,但我不想使用JOIN。
答案 0 :(得分:0)
不,如果不使用JOIN
(至少在MS-SQL中),就无法做到这一点。
GROUP BY子句中的表达式可以包含FROM子句中的表,派生表或视图的列。这些列不需要出现在SELECT子句列表中。