ときどき
SELECt * FROM item as T1
みたいな連番別名テーブルを見るんだが。
どこかで推奨でもされているんだろうか。
プログラムの変数名に無意味な連番は有り得ないっていうのは共通認識としてあると思うけど、SQLはそうじゃないんだろうか。
検索して上から順に見ていった。
オブジェクト(主にテーブル)のエイリアスは大抵つける、その際、テーブル名を略したエイリアスをつけない(TOKUISAKI_MST TOK, USER_MST USR みたいな)。理由は、略文字はテーブル名が増えたり、似たような名前のテーブルが並ぶと、ぱっと見で判断しにくいから。その点数字だとすぐ見分けが付く。(from 句を参照しないとだめだが) 頭文字の f というのは特に意味なし。
http://d.zeromemory.info/2007/01/19/coding-rule-sql.html
あと、テーブルには必ず別名を付けてて(参照するテーブルが1つの場合でも)、別名は小文字で付けてます。昔は、アルファベット1〜2文字で付けてました。
http://d.hatena.ne.jp/shimooka/20100426/1272291486
テーブルに別名を付ける場合、テーブル名の単数形を使用する
http://bleis-tift.hatenablog.com/entry/20090413/1239604802
http://d.hatena.ne.jp/uesama99/20070120/1169261175
- テーブルの別名はわかりやすく
- 理由:テーブルがUSER_MSTならumsとか、3文字の略字で表します。他の人から見ても可読性が工場します。3文字と決めているのは、項目を並べたときにツラをあわせるためです。
ちょっと信じられない。別の世界に紛れ込んだようだ。
手元にあるSQLが書いている本はアート・オブ・SQLしか無かったので読んでみた。
自己参照以外はだいたいテーブル名をそのまま使っている。
だいたいどの言語でも意味が伴わない型の再定義はよくないし、カーネルコーディング規約では typedef struct は禁止だ。
テーブル名にT1とか書かれても難読化しているようにしか思えない。
もうちょっと検索したら真面目に調べてる人が居た。
http://d.hatena.ne.jp/trshugu/20121219/1355883637
なるほど。速くなると思ってる人が居て、それが広まってしまって、さらに理由も忘れられて習慣化したのかな。