簡単な選択クエリを作成する
適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

1 つまたは複数のソースから特定のデータを選択するときに、選択クエリを使用できます。 選択クエリは、必要なデータのみを取得するのに役立ち、複数のデータ ソースのデータを結合するのにも役立ちます。 選択クエリでは、データ ソースとしてテーブルとその他の選択クエリを使用できます。 このトピックでは選択クエリの概要について説明し、クエリ ウィザードやデザイン ビューを使用して選択クエリを作成する手順を紹介します。

Northwind サンプル データベースを使用してクエリのしくみの詳細を確認する場合は、「クエリの概要」を参照してください。

この記事の内容

概要

データを使用する場合、1 つのテーブルのすべてのデータを使用することはめったにありません。 たとえば、連絡先テーブルのデータを使用する場合は、通常、1 つの特定のレコード、または電話番号だけを調べます。 顧客情報と注文情報の組み合わせなど、複数のテーブルのデータを結合したい場合があります。 使用するデータを選択するには、選択クエリを使用します。

選択クエリは、 データシート ビューに情報を表示するデータベース オブジェクトです。 クエリはデータを格納せず、テーブルに格納されているデータを表示します。 クエリでは、1 つ以上のテーブル、他のクエリ、または 2 つの組み合わせからのデータを表示できます。

クエリを使用する利点

クエリでできること:

  • 見たいフィールドのデータだけを表示する。 テーブルを開くと、すべてのフィールドが表示されます。 クエリは、選択したフィールドを保存する便利な方法です。

    注: クエリはデータをポイントするだけで、データを格納しません。 クエリを保存するときに、データのコピーが保存されるわけではありません。

  • いくつかのデータ ソースからのデータを結合する。 テーブルには通常、テーブルに保存されているデータのみが表示されます。 クエリを使用すれば、さまざまなソースのフィールドを選択し、情報の組み合わせを指定できます。

  • フィールドとして式を使用します。 たとえば、Date 関数をフィールドとして使用したり、フィールドと共に Format 関数を使用して、フィールドのデータをクエリ結果で書式設定する方法を制御したりできます。

  • 指定した抽出条件を満たすレコードを表示する。 テーブルを開くと、すべてのレコードが表示されます。 クエリは、選択したレコードを保存する便利な方法です。

選択クエリ作成の基本的手順

選択クエリを作成するには、クエリ ウィザードを使用するか、クエリ デザイナーで操作します。 ウィザードの場合、一部のデザイン要素は使用できませんが、このような要素は後でデザイン ビューで追加できます。 2 つの方法はある程度異なっていますが、基本的な手順は本質的には同じです。

  1. データ ソースとして使用するテーブルまたはクエリを選択します。

  2. データ ソースから含めるフィールドを指定します。

  3. 必要に応じて、クエリから返されるレコードを制限する条件を指定します。

選択クエリを作成したら、それを実行して結果を表示します。 選択クエリを実行するには、データシート ビューでクエリを開きます。 クエリを保存する場合は、フォーム、レポート、または別のクエリのデータ ソースとして、必要なときにいつでも再利用できます。

クエリ ウィザードを使用して選択クエリを作成する

クエリ ウィザードを使用し、選択クエリを自動的に作成できます。 このウィザードを使用する場合、クエリ デザインを細かく設定することはできませんが、ウィザードを使用しない場合に比べて、通常はクエリが短時間で作成されます。 また、ウィザードの場合、設計上の単純な間違いが検出され、別の操作を実行するように求められることがあります。

始める前に

互いに関連しないデータ ソースのフィールドを使用する場合、クエリ ウィザードでは、リレーションシップを作成するかどうかについて確認が求められます。 リレーションシップ ウィンドウが自動的に開きますが、リレーションシップを編集する場合、ウィザードを再起動する必要があります。 そのため、ウィザードを実行する前に、クエリで必要となるリレーションシップがあればそれを作成することを検討してください。

テーブル リレーションシップの作成の詳細については、「テーブル リレーションシップ のガイド」を参照してください。

クエリ ウィザードを使用する

  1. [ 作成 ] タブの [ クエリ ] グループで、[クエリ ウィザード] を選択します。

    Access リボンの [クエリ] グループには 2 つのオプションがあります。クエリ ウィザードとクエリ デザイン
  2. [ 新しいクエリ ] ダイアログ ボックスで、[簡易クエリ ウィザード] を選択し、[OK] を選択します

  3. 次に、フィールドを追加します。 最大 32 個のテーブルまたはクエリから最大 255 個のフィールドを追加できます。

    フィールドごとに、以下の手順を実行します。

    1. [ テーブル/クエリ] で、フィールドを含むテーブルまたはクエリを選択します。

    2. [使用可能なフィールド] で、フィールドをダブルクリックし、[選択したフィールド] リストに追加します。 すべてのフィールドをクエリに追加する場合は、二重右矢印 (>>) があるボタンを選択します。

    3. 必要なすべてのフィールドを追加したら、[次へ] を選択します。

      [選択クエリ ウィザード] ダイアログ ボックスで、使用するフィールドを選択します。
  4. 数値フィールド (数値データを含むフィールド) を追加しなかった場合は、手順 9 に進んでください。 数値フィールドを追加した場合、クエリで詳細を取得するか集計データを取得するかについて確認を求められます。

    次のいずれかの操作を行います。

    1. 個々のレコードを表示する場合は、[詳細] を選択し、[次へ] を選択します。 手順 9 に進みます。

    2. 平均などの集計された数値データを表示する場合は、[概要] を選択し、[概要オプション] を選択します。

      [選択クエリ ウィザード] ダイアログで [詳細] または [集計する] を選択する
  5. [集計のオプション] ダイアログ ボックスで、集計するフィールドとデータの集計方法を指定します。 数値フィールドのみが表示されます。

    数値フィールドごとに、次の関数の 1 つを選択します。

    1.     クエリは、フィールドのすべての値の合計を返します。

    2. 平均    クエリは、フィールドの値の平均を返します。

    3.     クエリは、フィールドの最小値を返します。

    4. マックス    クエリは、フィールドの最大値を返します。

    [集計のオプション] ダイアログで、集計値の計算方法を選択します。
  6. クエリの結果にデータ ソースのレコード数を含める場合、適切な ["データ ソース名" のレコードをカウントする] チェック ボックスを選択します。

  7. [OK] を 選択して 、[概要オプション] ダイアログ ボックスを閉じます。

  8. クエリに日付/時刻フィールドを追加しなかった場合は、手順 9 に進んでください。 日付/時刻フィールドをクエリに追加した場合、クエリ ウィザードでは、日付値をグループ化する方法について確認が求められます。 たとえば、数値フィールド ("Price") と日付/時刻フィールド ("Transaction_Time") をクエリに追加した後、[集計のオプション] ダイアログ ボックスで、数値フィールド "Price" の平均値を表示するように指定します。 日付/時刻フィールドを含めたため、一意の日付/時刻値、日、月、四半期、年ごとに集計値を計算できます。

    [選択クエリ ウィザード] ダイアログで、クエリの日付のグループ化方法を選択する

    日付/時刻の値をグループ化するために使用する期間を選択し、[次へ] を選択します。

    注: デザイン ビューでは式を使用し、任意の期間別にグループ化できますが、ウィザードの場合、選択肢が限定されています。

  9. ウィザードの最後のページで、クエリにタイトルを付け、クエリを開くか変更するかを指定し、[完了] を選択します

    クエリを開くと、選択したデータがデータシート ビューで表示されます。 クエリを変更する場合、クエリがデザイン ビューで開きます。

ページの先頭へ

デザイン ビューで作業し、クエリを作成する

デザイン ビューを使用し、選択クエリを手動で作成できます。 デザイン ビューを使用すると、クエリ デザインの詳細をより細かく制御できますが、設計ミスを行う方が簡単で、ウィザードを使用するよりも時間がかかる場合があります。

クエリを作成する

手順 1: データ ソースを追加する

デザイン ビューを使用してデータ ソースを追加する場合は、別の手順でデータ ソースとフィールドを追加します。 ただし、必要であれば、後でデータ ソースを追加できます。

  1. [ 作成 ] タブの [ クエリ ] グループで、[クエリ デザイン] を選択します。

    Access リボンの [クエリ] グループには 2 つのオプションがあります。クエリ ウィザードとクエリ デザイン
  2. 使用する各データ ソースをダブルクリックするか、各データ ソースを選択し、[追加] を選択します。

    テーブル名が表示された Access の [テーブルの表示] ダイアログ

自動結合

データ ソースを追加するとき、ソース間に既にリレーションシップが定義されている場合、そのリレーションシップは結合としてクエリに自動的に追加されます。 結合により、関連ソースのデータの組み合わせ方法が指定されます。 Access フィールドに互換性のあるデータ型があり、1 つのフィールドが主キーである場合、2 つのテーブル間に結合が自動的に作成されます。

作成する結合を調整 Access 場合があります。 Access は、結合が表すリレーションシップに基づいて作成する結合の種類を決定します。 Access が結合を作成するが、定義済みのリレーションシップがない場合は、 Access 内部結合が作成されます。

データ ソース Access 追加するときに正しい結合を自動的に作成する場合は、「 手順 3: 出力フィールドを追加する」に進むことができます。

同じデータ ソースを数回使用する

場合によっては、結合されたフィールドに一致する値があるときに同じテーブルのレコードを結合する、同じテーブルまたはクエリの 2 つのコピー (自己結合と呼ばれる) を結合する必要があります。 たとえば、各従業員のレコードの [ReportsTo] フィールドに名前ではなく上司の ID が表示される Employees テーブルがあるとします。 自己結合を使用して、代わりに各従業員のレコードにマネージャーの名前を表示できます。

2 回目にデータ ソースを追加すると、 Access は 2 番目のインスタンスの名前に _1 を追加します。 たとえば、Employees テーブルを 2 回追加した場合、2 番目のインスタンスの名前は Employees_1 となります。

手順 2: 関連するデータ ソースを結合する

クエリに追加するデータ ソースに既にリレーションシップがある場合は、リレーションシップごとに内部結合 Access 自動的に作成されます。 参照整合性が適用されている場合、 Access 結合行の上に "1" が表示され、どのテーブルが一対多リレーションシップの "1" 側にあるか、および無限大記号 () が表示され、どのテーブルが "多" 側にあるかを示します。

クエリをクエリに追加し、それらのクエリ間にリレーションシップを作成していない場合、 Access は、それらのクエリ間、または関連のないクエリとテーブルの間に自動的に結合を作成しません。 Access データ ソースを追加するときに結合が作成されない場合は、通常、自分で追加する必要があります。 他のデータ ソースに結合されていないデータ ソースは、クエリ結果で問題を引き起こす可能性があります。

また、クエリにより多くのレコードが含まれるように、結合の種類を内部結合から外部結合に変更することもできます。

結合を追加する

  • 結合を追加するには、1 つのデータ ソースのフィールドを、別のデータ ソースの対応するフィールドまでドラッグします。

    Access は、結合が作成されたことを示す 2 つのフィールド間の線を表示します。

    クエリのデザイン ビューの結合線

結合を変更する

  1. 変更対象の結合をダブルクリックします。

    [結合プロパティ] ダイアログ ボックスが表示されます。

    [結合プロパティ] ダイアログ ボックス
  2. [結合プロパティ] ダイアログ ボックスで 3 つのオプションを確認します。

  3. 使用するオプションをクリックし、[OK] をクリックします。

結合に問題がなければ、出力フィールドを追加します。出力フィールドとは、クエリ結果に表示するデータが含まれるフィールドです。

手順 3: 出力フィールドを追加する

手順 1 で追加したデータ ソースからフィールドを簡単に追加できます。

  • フィールドを追加するには、クエリ デザインの上ウィンドウにあるデータ ソースのフィールドを下ウィンドウにあるデザイン グリッドの [フィールド] 行までドラッグします。

    このようにフィールドを追加すると、 Access 自動的にデザイン グリッドの [テーブル ] 行に入力され、フィールドのデータ ソースが反映されます。

    ヒント: クエリ デザイン グリッドの [フィールド] 行にすべてのフィールドを簡単に追加するには、上ウィンドウにあるテーブルまたはクエリの名前をダブルクリックしてそのソースの全フィールドを強調表示し、デザイン グリッドまで同時にドラッグします。

式を出力フィールドとして使用する

計算を実行する場合、または関数を使用してクエリ出力を生成する場合は、式を出力フィールドとして使用できます。 式では、クエリ データ ソースからのデータや関数 (Format や InStr など) を使用できるほか、定数や算術演算子を含めることもできます。

  1. クエリ デザイン グリッドの空白の列で、[フィールド] 行を右クリックし、ショートカット メニューの [ズーム] をクリックします。

  2. [ズーム] ボックスに式を入力するか、貼り付けます。 式の出力で使用する名前を式の先頭に追加し、その後にコロンを続けます。 たとえば、式に "Last updated" というラベルを付けるには、式を Last updated: から始まる名前にします。

    注: 式を使用すれば、さまざまなことが可能になります。 式に関する詳しい説明については、この記事では取り上げません。 式の作成方法については、「Build an expression」 (式を作成する) を参照してください。

手順 4: 抽出条件を指定する

この手順は省略可能です。

抽出条件を使用すれば、クエリで返されるレコードを絞り込むことができます。指定した条件を満たすフィールド値が返されます。

出力フィールドの抽出条件を指定する

  1. クエリ デザイン グリッドで、制限する値があるフィールドの [ 抽出条件 ] 行に、結果に含めるためにフィールド値が満たす必要がある式を入力します。 たとえば、フィールド City の値が Las Vegas のレコードのみにクエリを制限する場合は、そのフィールドの [抽出条件] 行に「Las Vegas」と入力します。

    クエリの抽出条件の例」をご覧ください。さまざまなデータ型のクエリ抽出条件の例がたくさんあります。

  2. [抽出条件] 行の下にある [または] 行に別の抽出条件を指定します。

    別の抽出条件を指定する場合、一覧にある条件のいずれかをフィールド値が満たせば、クエリ結果に含まれます。

複数のフィールドの抽出条件

複数のフィールドで抽出条件を使用できます。 その場合、[抽出条件] 行または [または] 行のすべての条件が真にならないとレコードは含まれません。

出力を必要としないフィールドを使用し、抽出条件を指定する

クエリ デザインにフィールドを追加し、そのフィールドのデータをクエリ出力に含めないようにできます。 表示しないフィールドの値を使用してクエリの結果を絞り込む場合にこれを行います。

  1. デザイン グリッドにフィールドを追加します。

  2. フィールドの [表示] 行で、チェック ボックスの選択を解除します。

  3. 出力フィールドの場合と同様に、抽出条件を指定します。

手順 5:データを集計する

この手順は省略可能です。

特に対象のデータが数値である場合は、データを集計することが必要な場合があります。 たとえば、平均価格または売上合計を表示する場合を例にとります。

クエリでデータを集計するには、[集計] 行を使用します。 既定では、[集計] 行はデザイン ビューに表示されません。

  1. クエリをデザイン ビューで開いた状態で、[クエリ デザイン] タブの [表示/非表示] グループで [合計] をクリックします。

    Access クエリ デザイン グリッドに [合計] 行が表示されます。

  2. 集計するフィールドごとに、[集計] 行で使用する関数を一覧から選択します。 使用できる関数は、フィールドのデータ型によって異なります。

    クエリの行の合計機能の詳細については、「Totals 行を 使用してデータシートに列の合計を表示する」の記事を参照してください。

手順 6: 結果を表示する

クエリの結果を表示するには、[ クエリ デザイン ] タブで [ 実行] をクリックします。 Access データシート ビューにクエリの結果が表示されます。

クエリをさらに変更するには、[ホーム]、[表示]、[デザイン ビュー] の順にクリックし、デザイン ビューに切り替えます。

フィールド、式、抽出条件を変更し、必要なデータが返されるまでクエリを再実行します。

ページの先頭へ

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。