使用 SQL 表連線從多列擷取資料
本指南示範如何有效地組合多個 SQL 表中的資料以檢索各個欄位中的資訊。我們將重點放在 INNER JOIN
方法,重點介紹其用途並解決 Microsoft Access 的特定注意事項。
INNER JOIN
方法
INNER JOIN
根據共享列值合併兩個或多個表中的行。 結果表僅包含所有連接表中存在符合項目的行。 我們的範例涉及 tbl_facilitatorClasses
和 tbl_facilitators
來顯示班級名稱和輔導員詳細資訊(主要和次要)。
這是使用 INNER JOIN
的 SQL 查詢:
<code class="language-sql">SELECT tbl_facilitatorClasses.className, tbl_facilitators.facilLname AS primaryFacilitatorLname, tbl_facilitators.facilFname AS primaryFacilitatorFname, tbl_facilitatorClasses.secondFacil, tbl_facilitators.facilLname AS secondaryFacilitatorLname, tbl_facilitators.facilFname AS secondaryFacilitatorFname FROM tbl_facilitatorClasses INNER JOIN tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID INNER JOIN tbl_facilitators AS secondaryFacilitator ON tbl_facilitatorClasses.secondFacil = secondaryFacilitator.facilID;</code>
MS Access 的重要注意事項:多重連線中的括號
在 Microsoft Access 中,當使用多個 INNER JOIN
語句時,將每個連接括在括號內以確保正確的執行順序至關重要。 上面的範例使用括號是為了清晰起見並防止潛在的錯誤。
為什麼不UNION
?
雖然UNION
垂直組合來自多個表或子查詢的數據,但它不適合這種場景。 UNION
只是追加行,而不根據共享列值來匹配它們,這不會提供所需的組合輔助器和類別資料。
以上是如何在SQL中有效率地連接表以從多列中檢索資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!