2つのテーブルを結合する比較的単純なクエリがあります。「Where」基準は、結合基準または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はSQLServer2005です
編集 結合基準の2番目の部分またはwhere句がsales.salesdate<ある固定日であった場合、2つのテーブルを結合する基準が実際にはないため、答えが変わります。