考虑以下查询,其中两个集合都需要由相同的Location
. 是否有一种更有效/性能更高的方法,即Location
过滤器仅在两组中应用一次,或者您是否被迫将相同的过滤器单独应用于每个组?
SELECT *
FROM Orders
WHERE Quantity BETWEEN 1 AND 100
AND Location = 'SE'
EXCEPT
SELECT *
FROM Orders
WHERE Quantity BETWEEN 50 AND 75
AND Location = 'SE';
注意:不打算重构集合操作本身 - 这只是一个虚拟示例。我的问题只是关于如何跨集合操作处理常见的 WHERE 子句。