聯結中的資料行
JOIN 運算子藉由比較兩個資料表的值來比對資料列。 您可以決定這兩個資料表中要進行比對的資料列。 您的選擇如下:
關聯資料行:您也可以比對資料行中的值 (該資料行存在外部索引鍵關聯性) 來聯結資料表。 例如,您可以比對個別資料表中的 stor_id 值來聯結折扣和商店。 產生的 SQL 將如下所示:
SELECT * FROM discounts INNER JOIN stores ON stores.stor_id = discounts.stor_id
如需以關聯資料行來聯結資料表之詳細資訊,請參閱自動聯結資料表。
不關聯資料行:您也可以比對資料行中的值 (其中該資料行並不存在外部索引鍵關聯性) 來聯結資料表。 例如,您可以比對個別資料表中的各個州的值來聯結發行商和作者。 這類聯結將產生一結果集,其中每個資料列都將說明同一州中的作者/發行者組合。
SELECT au_lname, au_fname, pub_name, authors.state FROM authors INNER JOIN publishers ON authors.state = publishers.state
如需以不關聯資料行來聯結資料表的詳細資訊,請參閱手動聯結資料表。
注意,您也可以使用多重資料行來比對聯結資料表的資料列。 例如,如要尋找作者和發行者皆位於相同城市的作者和發行者組合,您可以使用聯結作業來比對兩個資料表中的州資料行和城市資料行。 由於不同的州可能會有命名相似的城市,因此您必須同時比對城市和州別 (例如,Illinois 州的 Springfield 市和 Massachusetts 州的 Springfield 市)。
如需以多重資料行來聯結資料表的詳細資訊,請參閱聯結多重資料行的資料表。