Einführung in Inner Join in Oracle
Die joins-Klauseln werden in der Oracle-Datenbank verwendet, um auf die Daten mehrerer Tabellen zuzugreifen und Informationen abzurufen. Es gibt verschiedene Arten von Joins in der Oracle-Datenbank.
Innerer Join ist eine der Join-Arten in der Oracle-Datenbank. Bei einer inneren Verknüpfung werden die mehreren Tabellen verknüpft und die Zeilen zurückgegeben, für die die Verknüpfungsbedingung erfüllt ist oder ist. Eine innere Verknüpfung wird auch als einfache Verknüpfung bezeichnet. Der innere Join ist der häufigste Join unter den Join-Typen.
Die Syntax des inneren Joins
SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;
Die visuelle Darstellung des Inner-Joins wird im folgenden Diagramm dargestellt, wie im folgenden Diagramm der schattierte Bereich, der als Ergebnis des Oracle-Inner-Joins zurückgegeben wird
Der Oracle Inner Join gibt als Ergebnis die Schnittmengen von t1 und t2 zurück.
Abfragebeispiele für Inner Join
Lassen Sie uns den inneren Join anhand einiger Abfragebeispiele im Detail verstehen:
Beispiel 1
Abfragebeispiel für Inner Join
SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;
In diesem obigen Oracle INNER JOIN-Beispiel werden alle Zeilen aus der Mitarbeitertabelle und der Abteilungstabelle zurückgegeben, in denen der Wert für employee_id sowohl in der Mitarbeitertabelle als auch in der Abteilungstabelle übereinstimmt.
Wir betrachten hier das hr-Schema, bei dem es sich um die Oracle-Datenbank-Beispielschemata handelt. Das HR-Schema enthält die Tabellen COUNTRIES, EMPLOYEES, DEPARTMENTS, JOB_HISTORY, JOBS, LOCATIONS, REGIONS, an denen wir interessiert sind oder die Tabellen EMPLOYEES, DEPARTMENTS und LOCATIONS benötigen.
Die Beschreibung dieser Tabellen sind -
Tabelle MITARBEITER
Tabelle ABTEILUNGEN
Tabelle STANDORTE
Beispiel # 2
Inneres Verknüpfungsbeispiel für zwei Tabellen
Hier möchten wir Daten aus zwei Tabellen EMPLOYEES und DEPARTMENTS abrufen. Hier schreiben wir eine Abfrage, um die Mitarbeiter-ID und den Vornamen des Mitarbeiters aus der Tabelle des Mitarbeiters und den Namen der Abteilung aus der Tabelle der Abteilung abzurufen.
SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;
Ausgabe
Vor den Spaltennamen mit der Tabelle steht die Oracle SELECT-Klausel. Wenn eine Spalte beiden Tabellen gemeinsam ist, muss dem Spaltennamen aus Gründen der Übersichtlichkeit der Tabellenname vorangestellt werden. Die Tabellen, aus denen die Daten abgerufen werden sollen, werden in der from-Klausel durch Kommas getrennt angegeben. Geben Sie in der WHERE-Klausel die Join-Bedingung an. Die Beziehung zwischen Mitarbeiter- und Abteilungs-Tabellen wird bestimmt, indem die Werte in der gemeinsamen Spalte employee_id in beiden Tabellen gleich sein müssen. Diese Beziehung wird als Equi-Join bezeichnet. An dieser Beziehung sind sowohl Primärschlüssel als auch Fremdschlüssel beteiligt.
Beispiel # 3
Inneres Verknüpfungsbeispiel für zwei Tabellen mit Aliases
Lassen Sie uns das obige Beispiel neu schreiben, indem wir Tabellen-Aliase wie folgt verwenden:
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;
Ausgabe
Wie in der obigen Abfrage werden die Tabellenaliasnamen in der from-Klausel nach dem Spaltennamen erstellt. Anstatt einen vollständigen Tabellennamen in der select-Klausel vor jeder Spalte zu schreiben, verwenden Sie die Tabellenaliasnamen als e und d in der obigen Abfrage.
Beispiel # 4
Inneres Verknüpfungsbeispiel für zwei Tabellen mit zusätzlichen Klauseln
Nächstes Abfragebeispiel, in dem wir unserer Oracle SELECT-Anweisung in der where-Klausel zusätzliche Klauseln hinzufügen, um Aggregationen hinzuzufügen, die zurückgegebenen Zeilen einzuschränken, die Sortierreihenfolge zu definieren usw. In der folgenden Beispielabfrage werden alle Mitarbeiter abgerufen, die in den Abteilungen Finanzen, Fertigung und Konstruktion tätig sind.
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ( 'Finance', 'Manufacturing', 'Construction' );
Ausgabe
Beispiel # 5
Inneres Verknüpfungsbeispiel für zwei Tabellen mit einer order by-Klausel
Im nächsten Abfragebeispiel schreiben wir die obige Abfrage neu, indem wir die order by-Klausel hinzufügen und daher die Daten des Mitarbeiters sortiert nach dem Abteilungsnamen anzeigen.
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ('Finance', 'Manufacturing', 'Construction')
ORDER BY d. department_name;
Ausgabe
Beispiel # 6
Inner Join-Beispiel für den Join mehrerer Tabellen
Manchmal müssen wir mehr als zwei Tabellen verknüpfen, um die Informationen zu erhalten. Als Nächstes schreiben wir das Abfragebeispiel, um mehrere Tabellen zu verknüpfen. Stellen Sie sich das Beispiel vor, bei dem der Vorname des Mitarbeiters aus der Mitarbeitertabelle, der Name der Abteilung aus der Abteilungstabelle und die Landes-ID des Standorts, an dem dieser Mitarbeiter in der Standorttabelle arbeitet, abgerufen werden sollen.
SELECT e. first_name, e. salary, d. department_name, l. city, l. country_id
FROM employees e, departments d, locations l
WHERE e. employee_id = d. department_id
AND
d. location_id = l. location_id;
Ausgabe
Um vier oder mehr Tabellen zu verknüpfen, wird dasselbe Konzept angewendet, indem der Tabellenname in der FROM-Klausel eines Orakels hinzugefügt und die Verknüpfungsbedingung in der WHERE-Klausel eines Orakels angewendet wird.
Fazit
Innerer Join ist eine der Join-Arten in der Oracle-Datenbank. Eine innere Verknüpfung, die verwendet wird, um die mehreren Tabellen zu verknüpfen und die Zeilen zurückzugeben, für die die Verknüpfungsbedingung erfüllt ist oder ist. In der Regel sind der Primärschlüssel und der Fremdschlüssel an der inneren Verknüpfung beteiligt, um eine Beziehung zwischen Tabellen zu erstellen.
Empfohlene Artikel
Dies ist eine Anleitung zu Inner Join in Oracle. Hier diskutieren wir die Einführung in Inner Join zusammen mit einigen Beispielen im Detail. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.
- Schließt sich MySQL an
- Oracle-Abfragen
- Oracle Data Warehousing
- Was ist eine Oracle-Datenbank?