クエリを使ってデータを管理する

複数のデータ ソースを使用するクエリを作成する

お使いのブラウザーではビデオがサポートされていません。Microsoft Silverlight、Adobe Flash Player、Internet Explorer 9 のいずれかをインストールしてください。

多くの場合、必要な答えを取得するには、複数のテーブルから、またはテーブルとクエリの組み合わせから情報を収集するクエリを作成します。

結合について

質問に答えるために複数のソース (テーブルまたはクエリ) から取得したデータを使用することが必要な場合があります。たとえば、特定の地域に住むどれだけの顧客が特定の製品を注文したかを表示するとします。

複数のデータ ソースを追加する場合、Access ではデータ ソース間に定義されている既存のリレーションシップを使用するか、もしくはデータ ソース間にクエリを目的とした結合を作成します。結合とは、クエリ内でデータ ソース間に設定する単なるリレーションシップの種類です。

注: 結合は一時的なものであり、クエリにのみ関連付けられます。テーブル間に同じ結合を頻繁に作成する場合は、それらのテーブル間に永続的なリレーションシップを作成することをお勧めします。

内部結合

ほとんどの結合は、内部結合です。内部結合は、「外部結合を使用したクエリの作成」で説明する外部結合とは対照的な結合です。

内部結合では、一方のソース内のデータに対応するレコードが、他方のソース内で見つかった場合にのみ、前者のソースからデータを返します。たとえば、製品と注文に関する情報をクエリした場合、注文がきている製品のデータのみが表示されます。

Product テーブルと Orders テーブルのスクリーンショット

自己結合

自己結合では、同一のテーブルまたはクエリの 2 つのコピーを結合します。結合されたフィールド内に互いに一致する値がある場合は、自己結合を使用して同一のテーブルから取得したレコードを組み合わせます。

たとえば、組織内のすべての従業員 (マネージャーを含む) を一覧した "顧客" テーブルがあるとします。このテーブルには、従業員のマネージャーの ID を保持する "上司" フィールドがあります。

ID

上司

1

Freehafer

Nancy

5

2

Cencini

Andrew

3

Kotas

Jan

10

4

Sergienko

Mariya

5

5

Thorpe

Steven

2

6

Neipper

Michael

10

7

Zare

Robert

10

8

Guissani

Laura

10

9

Hellung Larsen

Anne

5

10

Dempsey

Molly

3

従業員のマネージャーの名前を見つけるには、表内で従業員を検索し、"上司" フィールドでマネージャーの ID を確認し、同じ "従業員" フィールドでマネージャーの ID を検索します。たとえば、Nancy は、ID が 5 で Steven Thorpe という名前を持つマネージャーの直属の部下です。

このタスクを自動化するには、"顧客" テーブルをクエリに 2 度追加し、自己結合を作成します。データ ソースの 2 回目の追加が行われると、Access は、2 番目のインスタンスの名前に _1 を付加します。たとえば、"顧客" テーブルを 2 回追加した場合、2 番目のインスタンスの名前は "顧客_1" となります。各従業員のマネージャーの名前を表示するには、"顧客" テーブルの "上司" フィールドと "顧客_1" テーブルの "従業員 ID" フィールドとの間に結合を作成します。

1. データ ソースを追加する
  • [作成]、[クエリ デザイン] の順に選択します。

必要なテーブルとクエリをすべて、データ ソースとして追加します (ここで、追加するのを忘れたものがあっても、後でデータ ソースを追加する機会があるので、心配には及びません)。

データ ソースとしては、含まれている情報を表示したいテーブル (製品テーブル) や、抽出条件で使用する必要のある情報が含まれているテーブルなどがあります。

保存された既存のクエリは、データ ソースとして使用することもできます。たとえば、特定の月のすべての注文を検索するクエリを既に作成済みである場合は、そのクエリと製品テーブルを使用して特定の月に販売したすべての製品を表示します。

2. 関連するデータ ソースを結合する
  • 結合を自分で追加するには、1 つのデータ ソースのフィールドを、別のデータ ソース内の対応するフィールドまでドラッグします。既定では、Access は内部結合を作成します。

ほとんどのリレーションシップの場合は、Access によって内部結合が作成されます。参照整合性が適用されるように指定した場合は、それが追加されます。ただし、必要な結合が Access によって作成されない場合があります。たとえば、新しいクエリに既存のクエリを追加する場合で、リレーションシップをまだ作成していないときには、Access によって結合は自動的に作成されません。

3. クエリを実行する
  • クエリを作成するための一般的な手順に従い、出力フィールドを追加し、抽出条件を追加し、クエリを実行または保存します。詳細については、「基本的なクエリの作成」をご覧ください。

さらに詳しく

Excel のトレーニング

Outlook のトレーニング

このビデオでは、複数のデータ ソースの選択クエリを作成する方法を学びます。

"結合" を使用して複数のソース間における一致を作成する方法を学びます。

また、使用可能な結合の種類についても学びます。

複数のデータ ソースを使用する選択クエリを作成するには、1 つのデータ ソースを使用するクエリの作成と同様の基本手順に従います。

クエリ デザイナーを開き、テーブルまたはクエリを選択して、フィールドを追加します。

しかし、工夫が必要です。

複数のソースでデータのクエリを実行するときは、各ソース間の一致を作成する必要があります。

たとえば、一連の注文に含まれる製品を知りたい場合はその製品と注文を一致させる必要があります。

この一致を作成するには、"結合" を使用します。

結合は、2 つの共通フィールドのデータを比較します。データは各データ ソースから 1 つずつです。

結合は、各フィールドのデータが一致する方法を制御します。

たとえば、最も一般的な種類の結合では、一方のフィールド内のデータに対応する値が、他方のフィールド内で見つかった場合にのみ、前者のフィールドからデータを返します。これは、各注文の製品数を確認する方法です。

もう 1 つの結合の種類は一方のフィールドからすべてのデータを返し、他方のフィールドから一致するデータのみを返します。

この例では、クエリによって、特定の製品が含まれていない注文を通知します。

テーブルのリレーションシップを作成したときに、Access によって各リレーションシップに対する結合も作成されました。

Access は結合のパターンとしてリレーションシップを使用し、ほとんどの場合、結合されるフィールドは主キーと外部キーになります。

ただし、それは必須ではありません。関連のないソースを結合することもできます。

関連する 2 つのソースがあり、それらをクエリ デザイナーに追加した場合、リレーションシップがどのように見えるかを確認します。それはリレーションシップでないことにご注意ください。Access は結合のパターンとして使用したリレーションシップの種類のみを通知します。

テーブルまたはクエリ間で結合があれば、両方のソースからフィールドを追加できます。

デザイン グリッドに結合フィールドを追加しなかったことにもご注意ください。バック グラウンドで Access が結合フィールドを追加するため、ユーザーが追加する必要はありません。

クエリを実行し、結果を得ることができます。

結合の詳細について詳しく見て、いくつかの重要なポイントを覚えておきましょう。

まず、結合の種類を設定または変更するには、結合線を右クリックまたはダブルタップしてから、[結合プロパティ] を選択します。

これらの設定はクエリの結合の種類を制御するものであり、最も一般的な結合の種類です。

このオプションは "内部結合" を作成します。これは、両方のテーブルから一致するデータを返す結合の種類です。

リレーションシップを作成すると、Access でこの結合の種類が作成されます。

2 番目のオプションは、"左外部結合" を作成します。つまり、クエリは左側のテーブルからすべてのデータを返し、もう 1 つのテーブルからは一致するデータのみを返します。

3 番目のオプションは、"右外部結合" を作成しますが、ここで何が起きるかをもう予測できるかもしれません。

クエリは右側のテーブルからすべてのデータを返し、左側のテーブルからは一致するデータのみを返します。

外部結合を使用するのは、売上がない製品を知りたい場合、またはより一般的に言えば、何かが起こらない場合です。

これらが最も一般的な結合の 3 つの種類です。"クロス結合" と "異なる結合" も使用できますが、これらはあまり使用されません。

結合に関するその他の重要なポイントは、"リレーションシップ" と "結合" は同じではないことです。

リレーションシップは、参照整合性、つまりデータの追加と削除の方法を制御する一連のルールです。

結合は、クエリがデータを照合する方法を制御します。

ただし、この 2 種類は類似しています。

たとえば、リレーションシップは 1 つと多数の側を持つことができます。また、結合も左と右などの側を持つことができますが、結合はクエリでのみ使用し、リレーションシップで使用できない方法で使用できます。

たとえば、データベースを損なわずに結合を削除することができますが、これはリレーションシップでできない操作です。

また、リレーションシップが存在しない場所に結合を追加することができます。

たとえば、テーブルのフィールドとクエリのフィールドが、一致している、または互換性のあるデータ型であれば、そのフィールドを結合できます。

結合を操作して、複数のデータ ソースの選択クエリを作成する方法を紹介しました。結合の種類を設定または変更することもできます。さらに、結合とリレーションシップの類似点と相違点についても説明しました。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×