Microsoft Access 資料擷取:INNER JOIN 與 UNION 的應用情境
在 Microsoft Access 資料庫中,您可能需要從多個具有關聯關係的表中檢索資料。這可以透過 INNER JOIN 或 UNION 來實現,選擇哪個方法取決於您的特定需求。
INNER JOIN (內連接)
INNER JOIN 用於從多個表中檢索具有匹配行的記錄,基於指定的條件。例如,您需要從 tbl_facilitators
和 tbl_facilitatorClasses
表中檢索數據,分別基於 primeFacil
和 secondFacil
欄位。
INNER JOIN 使用 ON
關鍵字指定符合條件。以下是一個範例查詢:
<code class="language-sql">SELECT tbl_facilitatorClasses.className, tbl_facilitators.facilLname, tbl_facilitators.facilFname FROM tbl_facilitatorClasses INNER JOIN tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID;</code>
此查詢檢索 tbl_facilitatorClasses
中 primeFacil
值與 tbl_facilitators
中 facilID
值匹配的記錄的課程名稱、主要輔導員的姓氏和名字。
UNION (聯合)
UNION 將兩個或多個查詢的結果組合成一個結果集。在本例中,您可以使用 UNION 分別檢索主要和次要輔導員的資料。但是,您需要手動組合結果以建立所需的輸出。
解
為了以您期望的格式檢索主要和次要輔導員的數據,需要使用多個 INNER JOIN。您提供的解決方案中的查詢是正確的:
<code class="language-sql">SELECT tblCLS.className, tblP.facilLname, tblP.facilFname, tblS.facilLname, tblS.facilFname FROM (tbl_facilitatorClasses AS tblCLS INNER JOIN tbl_facilitators AS tblP ON tblCLS.primeFacil=tblP.facilID) INNER JOIN tbl_facilitators AS tblS ON tblCLS.secondFacil=tblS.facilID;</code>
此查詢使用括號將第一個INNER JOIN 括起來,以確保正確的運算順序,並透過將tbl_facilitatorClasses
中的primeFacil
和secondFacil
列與tbl_facilitators
中的facilID
列與
以上是Microsoft Access 中的內聯與聯合:什麼時候應該使用它們從多個表中檢索資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!