SQL SELECT句でテーブルから指定した列のデータを取得する
SELECT句はFROM句で指定されたテーブルから、どの列を取得するかを指定するための構文です。(FROM句についてはでSQL FROM句で複数のテーブルを結合するポイント紹介しています。)
列の指定
以下のようなテーブルがあるとします。
employeeというテーブル名のテーブルにidとfirst_nameとlast_nameという3つの列があります。
| id | first_name | last_name |
|---|---|---|
| 1 | 一郎 | 山田 |
| 2 | 次郎 | 佐藤 |
| 3 | 三郎 | 田中 |
| 4 | 四郎 | 鈴木 |
このとき、employeeテーブルに登録されている社員の名前(first_nameとlast_nameの列の値)を取得したい場合、SELECT句で以下のように指定します。
SELECT
first_name,
last_name
FROM
employee| first_name | last_name |
|---|---|
| 一郎 | 山田 |
| 次郎 | 佐藤 |
| 三郎 | 田中 |
| 四郎 | 鈴木 |
複数の列を指定する場合はカンマ(,)で区切って指定します。
SQL文は基本的には改行やインデントは無視されるので、以下のように指定しても同じように動作しますが、わかりやすいように上記のように改行やインデントを入れるのが一般的です。
SELECT first_name, last_name FROM employee列の値を編集する
例えばfirst_nameとlast_nameではなく性+名のフルネームfull_nameで取得したい場合があります。
そのような場合は以下のように、取得する列を文字列連結します。
SELECT
last_name || first_name AS full_name
FROM
employee| full_name |
|---|
| 山田一郎 |
| 佐藤次郎 |
| 田中三郎 |
| 鈴木四郎 |
||でlast_nameとfirst_nameの列の値を文字列連結しています。
文字列連結の方法はデータベースによって異なります。(||はOracleの記法です)
AS 列名で取得する列の名前を定義できます。(ASはデータベースによっては不要な場合があります)