次の方法で共有


結合でのテーブル

更新 : 2007 年 11 月

複数のテーブルのデータを結合するときは、使用するテーブルを指定する必要があります。次の事項について考慮する必要があります。

  • 3 つ以上のテーブルを結合する   各 JOIN 演算では 2 つのテーブルを結合します。ただし、1 つのクエリの中で複数の JOIN 演算を使って、任意の数のテーブルからのデータを組み合わせることができます。各 JOIN 演算の結果は実際にはテーブルなので、その結果を以降の結合演算のオペランドとして使用できます。たとえば、書名、著者、著者の印税の掛け率が各行に格納された結果セットを作成するには、authors、titles、および titleauthor という 3 つのテーブルのデータを組み合わせる必要があります。結果の SQL ステートメントは次のようになります。

    SELECT 
        title, 
        au_fname, 
        au_lname, 
        royaltyper
    FROM 
        authors 
            INNER JOIN 
            titleauthor 
            ON authors.au_id 
            =  titleauthor.au_id
       INNER JOIN
       titles 
             ON titleauthor.title_id 
             =  titles.title_id
    
  • 他のテーブルを結合するためだけにテーブルを使用する   いずれの列も結果セットで使用しないテーブルでも、結合に含むことができます。たとえば、書名とその書籍を販売している店名の組が各行に格納されている結果セットを作成するには、2 つのテーブル titles と stores の列を使用します。ただし、3 番目のテーブル sales を使って、どの店がどの本を売っているのかを特定する必要があります。結果の SQL ステートメントは次のようになります。

    SELECT title, stor_name 
    FROM titles 
             INNER JOIN 
             sales 
             ON titles.title_id = sales.title_id 
                 INNER JOIN 
                 stores 
                 ON 
                 sales.stor_id = stores.stor_id
    

    sales テーブルは結果セットの列では使用されません。

  • 1 つのクエリの中で同じテーブルを 2 回使用する   1 つのクエリの中で同じテーブルを複数回使用できます。詳細については、「1 つのクエリにおける同一テーブルの複数回使用」を参照してください。

  • テーブル以外の要素を使用する   テーブルの代わりに、クエリ、ビュー、またはテーブルを返すユーザー定義関数を使用できます。詳細については、「方法 : テーブル以外のアイテムを使用してクエリを作成する」を参照してください。

テーブルをクエリに追加する方法の詳細については、「方法 : クエリにテーブルを追加する」を参照してください。

参照

参照

結合のプロパティ

その他の技術情報

結合を使用したクエリ

クエリおよびビューのデザイン