🍳

SQLの別名再利用できるできない問題

2022/01/30に公開

SELECT ●● AS 別名

https://amzn.to/3rbNMYO

変数みたいなものね~と理解してたんだけど、あとで利用しようとしたときできたりできなかったりしますね。
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