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 は、2 つ以上のクエリの結果を 1 つの結果セットに結合します。この例では、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 中国語 Web サイトの他の関連記事を参照してください。