SELECT文 : 解説
SELECT文は、データの問合せに使うものです。そのためSQL文の中では、最もよく使うコマンドになります。
SELECT句の構造は、SELECTキーワードの後ろにデータを取得する列名を記述します。この列名の記述を「選択列リスト」と呼ぶこともあります。
列名を並べた後には、FROMキーワード後ろに、データを取得する表明を指定します。FROM句についてはこちらを参照してください。
SELECT文 : 使用例(すべての列の取得)
問合せの例として「tableA」表からすべてのデータを取得します
。すべての列を指定するときには、列名を1つ1つ記述する必要はなく「*」(アスタリスク)を指定します。
SQL文 SELECT * FROM tableA;
実行結果
id | name | age | point |
1 | 赤田孝 | 18 | 73 |
2 | 安部香 | 19 | 82 |
3 | 斉藤美穂 | 21 | 90 |
4 | 武井恵 | 22 | 86 |
5 | 深沢恭平 | 19 | 85 |
選択リストに「*」を使ったこの記述なら、表の列と行のすべてのデータを取得することができます。
次に、表の中から特定の列だけを取り出します。SELECTキーワードの後ろに、取得したい列名を記述していきます。このとき、複数の列を指定するには、「,」(カンマ)で区切ります。
SELECT文 : 使用例(特定の列の取得)
次の例では、「tableA」表の「name」列と「point」列を取り出しています。
SQL文 SELECT name, point FROM tableA;
実行結果
name | point |
赤田孝 | 73 |
安部香 | 82 |
斉藤美穂 | 90 |
武井恵 | 86 |
深沢恭平 | 85 |
また、表のデータから、条件にあったものだけを取得したいこともあります。その場合には、WHERE句を使います。WHERE句に条件式を記述し、その条件にあったデータだけを取得できます。
SELECT文 : 使用例(WHERE句を用いた使用例)
SQL文 SELECT * FROM tableA WHERE age = 19;
実行結果
id | name | age | point |
2 | 安部香 | 19 | 82 |
5 | 深沢恭平 | 19 | 85 |
通常、表からデータを取得するだけの単純なSELECT文では、問合せ結果の列名には、もとの表の列名が使われます。結果の列名に別名を使うときには、SELECTキーワードの後ろで列名を記述したすぐ後に、別名を指定します。
ただし、MSAccessでは、元の列名と別名の間に、必ず「AS」が必要な点に注意してください。
SQL文で関数などを使って演算を行うと、結果の列名が関数名を含んだ記述になったり、空白になってしまいます。このときに別名を指定して、結果をわかりやすい列名にすることができます。
SELECT文 : 使用例(別名の指定)
SQL文
SELECT id 出席番号, name 名前, age 年齢, point 点数
FROM tableA WHERE age = 19;
実行結果
出席番号 | 名前 | 年齢 | 点数 |
2 | 安部香 | 19 | 82 |
5 | 深沢恭平 | 19 | 85 |
問合せの詳細については、データ問合せの基本の解説を参照してください。