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
はデータベースによっては不要な場合があります)