🍳
SQLの別名再利用できるできない問題
SELECT ●● AS 別名
変数みたいなものね~と理解してたんだけど、あとで利用しようとしたときできたりできなかったりしますね。
ORDER BY
では怒られないけどWHERE
では怒られる気がする。
別名がつけられますよってさらっと言われたけど、使えるときと使えないときのことちゃんとまとめたい。
ちゃんとルールがある
ここに書いてありました。
1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBE または WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
11.TOP
SQL serverの場合、この順番で処理が行われているので、それ以前のタイミングで定義されたものしか使えませんよ~っていう話なんですね。
これ別名の問題から入ったけど処理順序って意味では結構重要な気がします。
ちなみに
別名つけるやつ、エイリアスって名前らしいよ!
Discussion