SELECT 句難易度 ★☆☆☆☆
計算した列を出す
shain テーブルから、社員の氏名(name)と、給与(salary)を 12 倍した年収を取り出してください。年収の列名は nenshu にしてください。列は「name, nenshu」の順、shain_id の小さい順に並べてください。
主要 7 製品で通用 そのまま使える: PostgreSQL / MySQL / MariaDB / SQLite / SQL Server / Oracle Database / IBM Db2
- SELECT には列名だけでなく計算式も書けます。結果の列名は AS で決めます。
- AS は省略できますが、書いた方が「これは付けた名前だ」と読み手に伝わります。
● 起動中…
この問題で使えるテーブル(名前をタップすると入力できます)
7 行
| 列 | 型 | NULL |
|---|---|---|
| 🔑 | int | 不可 |
| text | 不可 | |
| int | 可 |
データを見る(先頭 5 行)
| busho_id | busho_name | parent_busho_id |
|---|---|---|
| 1 | 経営 | NULL |
| 2 | 開発 | 1 |
| 3 | 営業 | 1 |
| 4 | 管理 | 1 |
| 5 | 基盤 | 2 |
18 行
| 列 | 型 | NULL |
|---|---|---|
| 🔑 | int | 不可 |
| text | 不可 | |
| int | 可 | |
| int | 可 | |
| numeric(10,0) | 不可 | |
| date | 不可 | |
| date | 可 |
データを見る(先頭 5 行)
| shain_id | name | busho_id | joushi_id | salary | hired_on | taishoku_on |
|---|---|---|---|---|---|---|
| 1 | 鈴木 | 1 | NULL | 980000 | 2014-04-01 | NULL |
| 2 | 佐藤 | 2 | 1 | 720000 | 2016-10-01 | NULL |
| 3 | 田中 | 2 | 2 | 520000 | 2019-04-01 | NULL |
| 4 | 中村 | 2 | 2 | 530000 | 2020-04-01 | NULL |
| 5 | 小林 | 2 | 2 | 445050 | 2024-04-01 | NULL |
解説
結論
SELECT には列名だけでなく計算式を書けます。列名は AS で決めます。
なぜ
SELECT は「何を出すか」を決める場所で、そこに書けるのは式です。列名はその特別な場合にすぎません。salary * 12 のような計算も、関数呼び出しも同じように書けます。
AS を省略すると列名は処理系が決めます。PostgreSQL では ?column? のような名前になることがあり、プログラムから使うと壊れます。設問が列名を指定しているときは必ず AS を書いてください。
よくある間違い
①AS を書かずに列名が一致しない ②並び順の指定を読み飛ばす。
根拠(一次情報)
- PostgreSQL 18 マニュアル: SELECT一次情報・確認 2026-08-01