'Having' を 'Where' として (つまり、group by 句なしで) 使用した場合、'Where' と 'Having (as where)' のどちらが速いか教えてください。どちらを優先する必要がありますか?
シナリオ - この条件を使用して、緯度と経度を使用して特定の距離にある場所を見つけています。
aggregate条件が関数を参照する場合は、その条件をHAVING句に入れます。それ以外の場合は、WHERE節を使用してください。
使用できますHAVINGが、 と一緒に使用することをお勧めしますGROUP BY。
SQL StandardWHERE行を返す前に結果セットを制限HAVINGし、すべての行を取得した後に結果セットを制限します。速いWHEREです。
HAVINGとの違いは次のWHEREとおり
です。 GROUP BY なしの HAVING
通常、代わりに使用することはできませんが、それについてはすべてこのリンクで説明されています
そして、ここにそれらの速度に関するトピックがあります:どちらの SQL ステートメントがより高速ですか? (HAVING と WHERE...)
HAVING と WHERE の使用は交換できません。それらはさまざまなトピックをカバーしています。GROUP BY 文がない場合、HAVING は WHERE と等しいように見えます。