0

'Having' を 'Where' として (つまり、group by 句なしで) 使用した場合、'Where' と 'Having (as where)' のどちらが速いか教えてください。どちらを優先する必要がありますか?

シナリオ - この条件を使用して、緯度と経度を使用して特定の距離にある場所を見つけています。

4

3 に答える 3

6

aggregate条件が関数を参照する場合は、その条件をHAVING句に入れます。それ以外の場合は、WHERE節を使用してください。

使用できますHAVINGが、 と一緒に使用することをお勧めしますGROUP BY

SQL StandardWHERE行を返す前に結果セットを制限HAVINGし、すべての行を取得した後に結果セットを制限します。速いWHEREです。

于 2013-07-04T09:48:01.163 に答える
1

HAVINGとの違いは次のWHEREとおり です。 GROUP BY なしの HAVING 通常、代わりに使用することはできませんが、それについてはすべてこのリンクで説明されています

そして、ここにそれらの速度に関するトピックがあります:どちらの SQL ステートメントがより高速ですか? (HAVING と WHERE...)

于 2013-07-04T09:56:22.967 に答える
0

HAVING と WHERE の使用は交換できません。それらはさまざまなトピックをカバーしています。GROUP BY 文がない場合、HAVING は WHERE と等しいように見えます。

于 2013-07-04T09:48:10.137 に答える