MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLクエリで列名にエイリアス(別名)を設定する方法

MySQLでは、SELECT文を使って列名に「エイリアス(別名)」を設定できます。エイリアスを利用すると、出力結果の見出しをわかりやすい名前に変更でき、レポート作成やアプリケーションでのデータ表示が格段に読みやすくなります。

列名にエイリアスを設定する基本構文

SELECT yourColumnName1 anyAliasName1, yourColumnName2 anyAliasName2
FROM yourTableName anyAliasName;

このように、列名の後にスペースを空けて任意の別名を記述するだけで、その列の表示名がエイリアスに置き換わります。テーブル名にも同様にエイリアスを設定可能です。なお、ASキーワードを使用して「yourColumnName AS anyAliasName」と書くこともできますが、省略しても同じ動作になります。

サンプルテーブルの作成

それでは、実際に動作を確認するためのテーブルを作成しましょう。

mysql> CREATE TABLE DemoTable2014
-> (
-> FirstName varchar(20),
-> LastName varchar(20)
-> );
Query OK, 0 rows affected (0.70 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにいくつかのレコードを挿入します。

mysql> INSERT INTO DemoTable2014 VALUES('John','Smith');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT INTO DemoTable2014 VALUES('David','Miller');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT INTO DemoTable2014 VALUES('John','Doe');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO DemoTable2014 VALUES('Chris','Brown');
Query OK, 1 row affected (0.16 sec)

テーブル内の全レコードを表示

SELECT文ですべてのレコードを確認してみます。

mysql> SELECT * FROM DemoTable2014;

実行すると、次のような出力が得られます。

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John | Smith |
| David | Miller |
| John | Doe |
| Chris | Brown |
+-----------+----------+
4 rows in set (0.00 sec)

単一のクエリで複数の列にエイリアスを設定する

ここからが本題です。1つのMySQLクエリで、すべての列名にエイリアスを設定するには、以下のように各列名の後に別名を続けて記述します。

mysql> SELECT FirstName StudentFirstName, LastName StudentLastName
-> FROM DemoTable2014 tbl;

この例では、「FirstName」列に「StudentFirstName」、「LastName」列に「StudentLastName」というエイリアスを設定しています。さらに、テーブル自体にも「tbl」というエイリアスを付けています。

実行結果は以下のとおりです。

+------------------+-----------------+
| StudentFirstName | StudentLastName |
+------------------+-----------------+
| John | Smith |
| David | Miller |
| John | Doe |
| Chris | Brown |
+------------------+-----------------+
4 rows in set (0.00 sec)

ご覧のとおり、元の列名「FirstName」「LastName」ではなく、設定したエイリアス「StudentFirstName」「StudentLastName」が見出しとして表示されました。このように、エイリアスを活用すれば、実際のテーブル構造を変更することなく、出力結果の列名だけを自由にカスタマイズできます。

  1. MySQLですべての行の値をカンマ区切りの単一の行として表示する方法

    GROUP_CONCAT()とCONCAT()を使って複数行の値を1行にまとめる方法MySQLでテーブル内の複数の行に格納された値を、カンマ(コンマ)で区切られた単一の行として取得したい場合には、GROUP_CONCAT()関数とCONCAT()関数を組み合わせて使用します。GROUP_CONCAT()はグループ内の複数の値を連結して文字列として返し、CONCAT()を使うことで各値の前後に任意の文字を追加できます。以下では、実際の手順をサンプルコードとともに順番に解説していきます。1. サンプルテーブルを作成するまず、テスト用のテーブルを作成します。ここではint型の「Id」カラムを持つシン

  2. MySQLで最初の3件のレコードに特定の値を設定する方法

    MySQLで、テーブルの最初の3件のレコードだけに特定の値を設定したい場合は、UPDATE文と組み合わせて LIMIT 3 を使用します。MySQLのUPDATE文は ORDER BY 句と LIMIT 句をサポートしているため、更新対象の行数を簡単に制御できます。ここでは、実際の手順をサンプルコードとともに解説します。 サンプルテーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable1968     (     Id int NOT NULL AUTO_I