はてなブックマークに追加
Facebookでシェア
Google+でシェア
Twitterでシェア
1.1 テーブルからレコードを取り出す(SELECTの基本)
テーブルからレコードを取り出すときは、SQLのSELECT命令を使います。SELECT命令では、取り出し条件を指定し特定のレコードだけを取り出すことはもちろん、列名を指定し特定の列だけの取り出しや、レコードの並べ替え、集計もできます。また、SELECT命令を実行したときはレコードセットが返ります。
SELECT命令の構文
SELECT [取得フィールド]
  FROM [取得元テーブル]
 WHERE [取得条件]
 GROUP BY [基準にするフィールド]
 ORDER BY [基準にするフィールド]
 ※GROUP BYの使用例はこのページには載ってません
全てのレコードを取り出す
テーブルに保存されている全てのレコードを取り出す場合は、次のようにSELECT命令を記述します。例では、アドレス帳テーブルの全レコードを取り出しています。

ちなみに、*は「全てのフィールド」という意味です。取り出しフィールドに*を指定すると、全てのフィールドを使うことができます。

SELECT *
  FROM アドレス帳テーブル
取り出すフィールドを指定する
SELECT句で取り出すフィールドをカンマで区切って指定します。次の例では、アドレス帳テーブルの全てのレコードを取り出しますが、選択したフィールドは漢字氏名、カナ氏名の2種類です。

SELECT 漢字氏名, カナ氏名
  FROM アドレス帳テーブル
レコードを絞り込む
WHERE句へ絞り込みの条件を指定します。条件を複数指定する場合は、ANDまたはORで続けます。ちなみに、WHERE句へ書く比較記号(<や=など)は、VBAのIf命令へ書く論理式と基本的に同じです。

次の例では、アドレス帳テーブルからレコードを取り出すときに性別コード1郵便番号151-0001という条件で絞り込んでいます。

SELECT 漢字氏名, カナ氏名
  FROM アドレス帳テーブル
 WHERE 性別コード = 1
   AND 郵便番号 = '151-0001'
 ※文字列は'(シングルクォーテーション)で囲みます。
並べ替えを行う
ORDER BY句へ並べ替えの基準にするフィールドを指定します。複数指定する場合はカンマで区切って指定しましょう。

また、並べ替えをするときは、DESCを指定すると大きい順になり、指定しないと小さい順となります。次の例では、取り出した結果を都道府県(大きい順)と漢字氏名(小さい順)で並べ替えをしています。

SELECT 漢字氏名, カナ氏名
  FROM アドレス帳テーブル
 ORDER BY 都道府県コード DESC, 漢字氏名


Copyright(C) 1999-2015 結城圭介(Ver.3.51) All rights reserved