Heim >Datenbank >MySQL-Tutorial >Inner Join vs. Union in Microsoft Access: Wann sollte ich beide verwenden, um Daten aus mehreren Tabellen abzurufen?

Inner Join vs. Union in Microsoft Access: Wann sollte ich beide verwenden, um Daten aus mehreren Tabellen abzurufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-15 08:57:44315Durchsuche

Inner Join vs. Union in Microsoft Access: When Should I Use Each to Retrieve Data from Multiple Tables?

Microsoft Access-Datenabruf: Anwendungsszenarien von INNER JOIN und UNION

In einer Microsoft Access-Datenbank müssen Sie möglicherweise Daten aus mehreren Tabellen mit verwandten Beziehungen abrufen. Dies kann mit INNER JOIN oder UNION erreicht werden. Welche Methode Sie wählen, hängt von Ihren spezifischen Anforderungen ab.

INNER JOIN (innere Verbindung)

INNER JOIN wird verwendet, um Datensätze mit übereinstimmenden Zeilen aus mehreren Tabellen basierend auf angegebenen Kriterien abzurufen. Sie müssen beispielsweise Daten aus den Tabellen tbl_facilitators und tbl_facilitatorClasses abrufen, basierend auf den Spalten primeFacil bzw. secondFacil.

INNER JOIN verwendet das Schlüsselwort ON, um Übereinstimmungsbedingungen anzugeben. Hier ist eine Beispielabfrage:

<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>

Diese Abfrage ruft den Kursnamen, den Nachnamen und den Vornamen des Hauptlehrers für Datensätze ab, deren tbl_facilitatorClasses-Wert in primeFacil mit dem tbl_facilitators-Wert in facilID übereinstimmt.

UNION

UNION kombiniert die Ergebnisse von zwei oder mehr Abfragen in einem einzigen Ergebnissatz. In diesem Beispiel verwenden Sie UNION, um Daten für primäre und sekundäre Berater getrennt abzurufen. Sie müssen die Ergebnisse jedoch manuell kombinieren, um die gewünschte Ausgabe zu erstellen.

Lösung

Um die primären und sekundären Beraterdaten im erwarteten Format abzurufen, sind mehrere INNER JOINs erforderlich. Die Abfrage in der von Ihnen bereitgestellten Lösung ist korrekt:

<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>

Diese Abfrage verwendet Klammern, um den ersten INNER JOIN zu umgeben, um die korrekte Reihenfolge der Operationen sicherzustellen und indem die Spalten tbl_facilitatorClasses und primeFacil in secondFacil mit der Spalte tbl_facilitators in facilID abgeglichen werden, um die erforderliche Ausgabe abzurufen für die primären und sekundären Berater.

Das obige ist der detaillierte Inhalt vonInner Join vs. Union in Microsoft Access: Wann sollte ich beide verwenden, um Daten aus mehreren Tabellen abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn