6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQLのエイリアスの付け方って迷う。

Posted at

SQL書くとき、テーブル名に別名(エイリアス)を付けます。
付けると、ツール次第ですが、カラム名を自動保管してくれます。

だ、け、ど、別名って人によってつけかたが、まちまち。。

SQLの別名(エイリアス)

T+連番

ある現場で、書いている人を見かけてから、個人的に好きで使っています。
賛否両論あるので、自分だけ使うSQLの時だけ使います。

SELECT 
  t1.test_col1
 ,t2.test_col2
FROM 
 example_trn1 t1
 INNER JOIN example_trn2 t2
 ON t1.test_id = t2.test_id

良いな~って思った所が、迷わないこと。
エイリアスどうしよう~って迷う必要が無い。

あとは、エイリアスの自動保管も使えるので、SQLを書くスピードは上がります。
難点として、エイリアスが連番なので、どのテーブルのカラムなのか、分かりづらい。

テーブル名の略称

現場でよく見かける書き方です。
賛否両論の否が少ない書き方かな。

SELECT 
  ex1.test_col1
 ,ex2.test_col2
FROM 
 example_trn1 ex1
 INNER JOIN example_trn2 ex2
 ON ex1.test_id = ex2.test_id

良いところが、無難。
どのテーブルのカラムか、多少は理解しやすい。
で、エイリアスの恩恵もある。

アルファベット一文字 の 順番

最近、現場で書いている人を見ていて、
あ~そういう書き方もあるのか~って思いました。

SELECT 
  a.test_col1
 ,b.test_col2
FROM 
 example_trn1 a
 INNER JOIN example_trn2 b
 ON a.test_id = b.test_id

本質的には、T + 連番と同じ考えかと。
T + 連番より一文字で表せるから、ちょっと惹かれます。

結論

私の最近の流行りは、「T + 連番」 だったけど、「アルファベット一文字の順番」のほうが
より簡略的で惹かれています。

やはり、シンプルイズベスト。でも、可読性も忘れちゃいけない。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?