|

|
|
 |
1.1 テーブルからレコードを取り出す(SELECTの基本) |
 |
|
|
|
|
|
テーブルからレコードを取り出すときは、SQLのSELECT命令を使います。SELECT命令では、取り出し条件を指定し特定のレコードだけを取り出すことはもちろん、列名を指定し特定の列だけの取り出しや、レコードの並べ替え、集計もできます。また、SELECT命令を実行したときはレコードセットが返ります。
|
|
|
|
|
|
|
|
|
|
SELECT [取得フィールド]
FROM [取得元テーブル]
WHERE [取得条件]
GROUP BY [基準にするフィールド]
ORDER BY [基準にするフィールド]
|
※GROUP BYの使用例はこのページには載ってません
|
|
|
|
|
|
|
|
|
|
テーブルに保存されている全てのレコードを取り出す場合は、次のようにSELECT命令を記述します。例では、アドレス帳テーブルの全レコードを取り出しています。
ちなみに、*は「全てのフィールド」という意味です。取り出しフィールドに*を指定すると、全てのフィールドを使うことができます。
|
|
|
|
|
|
|
|
|
|
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, 漢字氏名
|
|
|
|
|
|