1. ホーム
  2. マイスル

[解決済み】WHEREとHAVINGの比較

2022-04-18 04:01:42

質問

なぜ自分で作成したカラム(例えば select 1 as "number" の後に HAVING であって WHERE をMySQLで使用することはできますか?

また、このような方法ではなく、何か不都合な点がありますか? WHERE 1 (列名ではなく定義全体を書く)のでしょうか?

どのように解決するのですか?

<ブロッククオート

MySQLでWHEREではなくHAVINGの後に自分で作成した列(例えば "select 1 as number" )を配置する必要があるのはなぜですか?

WHERE が適用される前に GROUP BY , HAVING が後に適用されます(集合体に対するフィルタリングも可能)。

一般に、これらの句のどちらでもエイリアスを参照することはできませんが MySQL を参照することができます。 SELECT レベルエイリアスを GROUP BY , ORDER BYHAVING .

また、"WHERE 1"を行う代わりにデメリットはありますか(列名ではなく、定義全体を書く)。

計算式に集約が含まれない場合、計算式を WHERE 節を使用した方が効率的でしょう。