VillageSQL is a drop-in replacement for MySQL with extensions.
All examples on this page work on VillageSQL. Install Now →
mysql -u root -p sakila でクライアントを開いてください。
エイリアスの仕組み
COLUMN_OR_EXPRESSION を必要な列または計算に、ALIAS_NAME を付けたい見出しに、
TABLE_NAME をテーブルに置き換えます。
エイリアスは結果にだけ適用されます。テーブルは何も変わらず、次のクエリはそれに
ついて何も知りません。
例
- 列の名前を変える
film_title になっています。値はそのままです。
- 計算に名前を付ける
ここがエイリアスの真価を発揮する場所です。エイリアスがなければ、見出しは計算式
そのものになります。
- 空白を含むエイリアス
英字、数字、およびアンダースコアだけでできたエイリアスには引用符は不要です。
それ以外のものには必要です。空白や、order や select のように MySQL が
自分用に予約している単語が含まれます。手に取るべき引用符はバッククォートです。
ERROR 1064 は一般的な構文エラーです。メッセージ末尾の引用された断片は、
サーバーが解析を諦めた場所で、通常は本当の間違いの 1 語か 2 語後ろです。
AS は省略でき、省略すると入力ミスが隠れる
列の後の裸の名前はAS と同じ意味です。これが、忘れたカンマが姿を隠す方法でも
あります。
release_year を title のエイリアスに
変えたため、結果は release_year という見出しの 1 列で、映画のタイトルを保持して
います。文は有効なので、サーバーは何も報告しませんでした。
すべてのエイリアスに AS を書いても、サーバーがこれを拒否するようにはなりません。
ここではどちらの列にも AS がないからです。それでも、クエリを読み返したときに
間違いが見えるようになります。前に AS のない、列の後の裸の名前は、カンマの
欠落です。
まとめ
- 結果の列に自分で選んだ名前を付けるには
ASを使います。 - 計算列のデフォルトの見出しは式なので、計算列には常にエイリアスを付けます。
- エイリアスに空白や予約語が含まれるときは、バッククォートで囲みます。
- 裸の名前がカンマの欠落と読めるように、すべてのエイリアスに
ASを書きます。
関連項目
- SELECT — エイリアスが付く文
- ORDER BY — 結果の並べ替え(引用符の種類が重要になり始める場面)
- MySQL の文字列関数 — 名前を必要とする式