戯言

つらつらと気づいたことを書いていきます。人狼とか。

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

るる


スポンサーサイト

GROUP BY句ではSELECT句で定義した別名が使えません


この理由は、クエリがどういう順序で評価されているかを考えれば、わかりやすいです。

いきなりWHERE句からクエリを評価しようとして、
WHERE句で指定された列名を確認しても、
FROM句で指定されているテーブル名を知っておかないと、
どのテーブルの列か不明なので、評価できません。

つまり、FROM句を評価した後に、WHERE句の評価をするはずです。
人間がクエリの解釈をするときも同じですよね。

このように考えていくと、SELECTクエリの評価は、
FROM → WHERE → GROUPBY → HAVING → ORDERBY → SELECT句のような順で
評価されるはずです。

そのため、SELECT句より先に評価されるGROUPBY句やHAVING句では、
SELECT句で指定した別名が使えないのです。

たぶん。
個人的に、そういう理解をしました。




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。