У меня относительно простой запрос, соединяющий две таблицы. Критерии "Где" могут быть выражены либо в критериях присоединения, либо в качестве предложения where. Мне интересно, что более эффективно.
Запрос заключается в том, чтобы найти максимальные продажи для продавца с самого начала, пока они не будут продвинуты.
Случай 1
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
and sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
Случай 2
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
where sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
Примечание. В случае 1 отсутствует предложение where
RDBMS - это Sql Server 2005
ИЗМЕНИТЬ Если вторая часть критерия объединения или предложение where были проданы. Salesdate < какая-то фиксированная дата, поэтому на самом деле нет каких-либо критериев объединения двух таблиц, которые меняют ответ.