共用方式為


聯結中的資料表

聯結多重資料表的資料時,您必須決定要使用的資料表。 其中有幾個重大的考量:

  • 結合三或多個資料表:每個 JOIN 作業都結合兩個資料表。但您可以使用在一個查詢中使用多個 JOIN 作業,來組合任何數量資料表的資料。 由於每個 JOIN 作業產生的結果都會為資料表,因此產生的結果可做為後續聯結作業中的運算元。 例如,如要建立一結果集,其中每個資料列都包含書名、作者和作者收取該書版稅的百分比,您必須結合三個資料表的資料:作者、書名和書名作者。 產生的 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
    
  • 僅使用資料表來聯結其他:即使您不想在結果集中包含某資料表的任何資料行,您還是可以將該資料表包含在聯結中。 例如,如要建立結果集,其中每個資料列都將說明某家商店銷售某本書之書名/商店組合,您可以包含兩個資料表的資料行:書名和商店。 但您必須使用第三個資料表 -- 銷售,來決定哪些商店販售哪些書。 產生的 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
    

    請注意銷售資料表與結果集所產生的資料行並沒有任何關係。

  • 在單一查詢中使用資料表兩次:您可以在單一查詢中使用同一個資料表兩次 (或兩次以上)。 如需詳細資訊,請參閱在單一查詢中使用資料表兩次

  • 取代資料表:您可以使用查詢、檢視表或可傳回資料表的使用者定義函式來取代資料表。 如需詳細資訊,請參閱 如何:使用資料表以外的項目建立查詢

如需加入資料表至查詢的詳細資訊,請參閱 如何:將資料表加入至查詢

請參閱

參考

聯結屬性

其他資源

使用聯結進行查詢

設計查詢和檢視表