Database
 sql >> Datenbank >  >> RDS >> Database

Arten von SQL-JOIN

Der SQL JOIN kombiniert eine oder mehrere Tabellen basierend auf ihrer Beziehung. Der SQL JOIN beinhaltet eine Beziehung zwischen einer übergeordneten Tabelle und einer untergeordneten Tabelle.

Es gibt verschiedene Arten von SQL JOINS:

  1. Innere Verknüpfung
  2. Linker äußerer Join
  3. Right Outer Join
  4. Vollständiger äußerer Join
  5. Cross Join.

Lassen Sie uns jeden Typ von SQL-Joins anhand von Beispielen verstehen.

Innere Verbindung

Inner Join in SQL ist ein weit verbreiteter Join. Es hat alle Datensätze aus beiden Tabellen abgerufen, bis die Bedingung übereinstimmte. Dies bedeutet, dass dieser Join nur die Zeilen zurückgibt, die in beiden Tabellen gemeinsam sind.

Syntax von SQL Inner Join:

SELECT  Table_Name1.Column_Name1,     Table_Name1.Column_Name2, Table_Name1.Column_Name3, Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 INNER JOIN Table_Name2 ON table_Name1.Column_Name =Table_Name2.Column_Name;

Betrachten Sie die bereits vorhandenen Tabellen, die bestimmte Daten enthalten:

Tabelle 1:Mitarbeiter

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NICHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUSCHIKA JAIN 50000 MUMBAI C# 5
3001 PRANOTI SCHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOLD 60500 MUMBAI TESTEN 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUSCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TESTEN 4

Tabelle 2:Manager

Manager-ID manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra TESTEN
5 Akash Kadam C#

Tabelle 3:Laptop:

LAPTOPID NAME MITARBEITERID
L101 DELL NULL
L102 HP 1002
L103 LENOVO NULL
L104 HP 3003
L105 DELL 4002
L106 LENOVO 4003
L107 DELL 5001
L108 HP NULL
L109 DELL NULL
L110 HP NULL

Beispiele für SQL Inner Join

Beispiel 1: Führen Sie eine Abfrage aus, um die Mitarbeitertabelle und die Managertabelle zu verknüpfen und Mitarbeiterdetails wie Mitarbeiter-ID, Mitarbeitername, Gehalt aus der Mitarbeitertabelle sowie Manager-ID und Managername aus der Managertabelle anzuzeigen.

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID;

In der obigen Abfrage haben wir die Mitarbeiter-ID, den Vornamen, den Nachnamen, das Gehalt aus der Tabelle des Mitarbeiters und die Manager-ID, den Namen des Managers aus der Manager-Tabelle abgerufen, wobei die Manager-ID-Spalte der Mitarbeitertabelle der Manager-ID-Spalte der Manager-Tabelle entspricht. Die Abfrage gibt alle übereinstimmenden Datensätze aus beiden Tabellen zurück. Die Manager-ID ist eine gemeinsame Spalte zwischen beiden Tabellen. E ist ein Aliasname für die Mitarbeitertabelle, während M für die Managertabelle steht. Das Manager-ID-Feld wird als Fremdschlüssel in die Employee-Tabelle eingefügt. Die Manager-ID fungiert als Primärschlüssel in der Manager-Tabelle, wodurch eine Eltern-Kind-Beziehung zwischen den beiden Tabellen erstellt wird.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME GEHALT MANAGERID MANAGER_NAME
1001 VAIBHAVI MISHRA 65500 1 Sneedeep Kaur
2001 PRACHI SHARMA 55500 1 Sneedeep Kaur
4003 RUSCHIKA AGARWAL 60000 1 Sneedeep Kaur
1003 NICHIL VANI 50500 2 Kirti Kirtane
2002 BHAVESH JAIN 65500 2 Kirti Kirtane
3002 ANUJA WANRE 50500 2 Kirti Kirtane
3001 PRANOTI SCHENDE 55500 3 Abhishek Manish
3003 DEEPAM JAUHARI 58500 3 Abhishek Manish
4002 ASHWINI BAGHAT 54500 3 Abhishek Manish
4001 RAJESH GOLD 60500 4 Anupam Mishra
5001 ARCHIT SHARMA 55500 4 Anupam Mishra
1002 VAIBHAV SHARMA 60000 5 Akash Kadam
2003 RUSCHIKA JAIN 50000 4 Akash Kadam

Die Datensätze werden in aufsteigender Reihenfolge nach Manager-ID angezeigt.

Beispiel 2: Führen Sie eine Abfrage aus, um die Mitarbeitertabelle und die Managertabelle zu verknüpfen, und zeigen Sie Mitarbeiterdetails wie Mitarbeiter-ID, Mitarbeitername, Gehalt aus der Mitarbeitertabelle und Manager-ID und Abteilung des Managers aus der Managertabelle an, wenn das Mitarbeitergehalt größer als 58000 ist.

SELECT E.MITARBEITERID, E.VORNAME, E.NACHNAME, E.GEHALT, M.MANAGERID, M.MANAGER_ABTEILUNG VON MITARBEITERN E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE SALARY> 58000;

In der obigen Abfrage haben wir die Mitarbeiter-ID, den Vornamen, den Nachnamen, das Gehalt aus der Tabelle des Mitarbeiters, die Manager-ID und die Abteilung des Managers aus der Manager-Tabelle abgerufen, wobei die Manager-ID aus der Tabelle der Mitarbeiter gleich der Manager-ID des Managers ist Tabellen nur die Mitarbeiterdatensätze, deren Gehalt größer als 58000 ist.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME GEHALT MANAGERID MANAGER_DEPARTMENT
1001 VAIBHAVI MISHRA 65500 1 ORACLE
4003 RUSCHIKA AGARWAL 60000 1 ORACLE
2002 BHAVESH JAIN 65500 2 FMW
3003 DEEPAM JAUHARI 58500 3 JAVA
4001 RAJESH GOLD 60500 4 TESTEN
1002 VAIBHAV SHARMA 60000 5 C#

Nur sechs Datensätze werden angezeigt, wenn das Gehalt eines Mitarbeiters 58000 übersteigt.

Beispiel 3: Führen Sie eine Abfrage aus, um die Tabellen „Employees'“ und „Laptop“ zu verknüpfen, zeigen Sie Mitarbeiterdetails wie Mitarbeiter-ID, Name und Gehalt des Mitarbeiters, die Stadt aus der Tabelle des Mitarbeiters, die Laptop-ID und den Laptop-Namen aus der Laptop-Tabelle an

MITARBEITER-ID AUSWÄHLEN, MITARBEITER-VORNAME, MITARBEITER-GEHALT, MITARBEITER-STADT, LAP.LAPTOPID, LAP. NAME VON MITARBEITERN EMP INNER JOIN LAPTOP LAP ON EMP.EMPLOYEEID =LAP.EMPLOYEEID;

In der obigen Abfrage haben wir die Mitarbeiter-ID, den Vornamen, das Gehalt, die Stadt aus der Laptop-ID der Mitarbeitertabelle und den Namen aus der Laptop-Tabelle abgerufen, wobei die Mitarbeiter-ID aus der Mitarbeitertabelle gleich der Mitarbeiter-ID aus der Laptop-Tabelle ist. Die Mitarbeiter-ID ist ein Fremdschlüssel in der Laptop-Tabelle, der eine Eltern-Kind-Beziehung zwischen der Mitarbeiter-Tabelle und der Laptop-Tabelle erstellt.

Ausgabe:

MITARBEITERID FIRST_NAME GEHALT STADT LAPTOPID NAME
1002 VAIBHAV 60000 NOIDA L102 HP
3003 DEEPAM 58500 MUMBAI L104 HP
4002 ASHWINI 54500 NOIDA L105 DELL
4003 RUSCHIKA 60000 DELHI L106 LENOVO
5001 ARCHIT 55500 DELHI L107 DELL

Es werden nur die Datensätze von fünf Mitarbeitern angezeigt.

Beispiel 4: Schreiben Sie eine Abfrage, um die Mitarbeiter-ID, den Vornamen, das Gehalt und die Abteilung aus der Mitarbeitertabelle anzuzeigen

SELECT EMPLOYEEID, FIRST_NAME, SALARY, DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE SALARY> 55000 AND DEPARTMENT ='ORACLE';

Im obigen Beispiel für eine Join-Abfrage zeigen wir die Mitarbeiterdetails wie ID, Name, Gehalt und Abteilung aus der Mitarbeitertabelle, die Manager-ID und den Managernamen aus der Managertabelle an, wobei die Manager-ID aus der Mitarbeitertabelle gleich der Manager-ID ist der Manager nur die Mitarbeiter, deren Gehalt höher als 55000 ist und deren Abteilung Oracle ist.

Ausgabe:

MITARBEITERID FIRST_NAME GEHALT ABTEILUNG MANAGERID MANAGER_NAME
1001 VAIBHAVI 65500 ORACLE 1 Snehdeep Kaur
2001 PRACHI 55500 ORACLE 1 Snehdeep Kaur
4003 RUSCHIKA 60000 ORACLE 1 Snehdeep Kaur

Nur drei Mitarbeiter, deren Gehalt höher als 55000 ist, und die Abteilung ist Oracle.

Beispiel 5: Führen Sie eine Verknüpfungsabfrage für die Tabellen "Employees", "Manager" und "Laptop" aus und zeigen Sie die Details der Mitarbeiter, die Manager-ID und die Laptop-ID an.

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, M.MANAGERID, L.LAPTOPID FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID INNER JOIN LAPTOP L ON E.EMPLOYEEID =L.EMPLOYEEID; 

Die obige Abfrage zeigt die Mitarbeiter-ID, den Vornamen, den Nachnamen, die Manager-ID und die Laptop-ID aus den Tabellen „Mitarbeiter“, „Manager“ und „Laptops“ an. Wir verbinden drei Tische. Die Mitarbeiter-ID ist eine gemeinsame Spalte zwischen der Tabelle „Employees“ und der Laptop-Tabelle und erstellt eine Eltern-Kind-Beziehung zwischen diesen drei Tabellen. Zwischen Mitarbeitern und Managern ist die Tabellenmanager-ID die gemeinsame Spalte.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME MANAGERID LAPTOPID
4003 RUSCHIKA AGARWAL 1 L106
3003 DEEPAM JAUHARI 3 L104
4002 ASHWINI BAGHAT 3 L105
5001 ARCHIT SHARMA 4 L107
1002 VAIBHAV SHARMA 5 L102

Linker äußerer Join

Der linke äußere Join gibt alle Tabellendatensätze auf der linken Seite des Joins und übereinstimmende Datensätze für die Tabelle auf der rechten Seite des Joins zurück. Die Ergebnismenge enthält null für die Datensätze, die auf der rechten Seite nicht gemeinsam sind.

Syntax von Left Outer Join:

SELECT        Table_Name1.Column_Name1,     Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 LEFT OUTER JOIN Table_Name2 ON Table_Name1.Column_Name =Table_Name2.Column.Name;

Betrachten Sie die vorhandenen Tabellen mit den folgenden Datensätzen:

Tabelle 1:Mitarbeiter

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NICHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUSCHIKA JAIN 50000 MUMBAI C# 5
3001 PRANOTI SCHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOLD 60500 MUMBAI TESTEN 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUSCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TESTEN 4

Tabelle 2:Manager

Manager-ID manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra TESTEN
5 Akash Kadam C#

Tabelle 3:Laptop

LAPTOPID NAME MITARBEITERID
L101 DELL NULL
L102 HP 1002
L103 LENOVO NULL
L104 HP 3003
L105 DELL 4002
L106 LENOVO 4003
L107 DELL 5001
L108 HP NULL
L109 DELL NULL
L110 HP NULL

Beispiele für SQL Left Outer Join

Beispiel 1: Führen Sie eine Left-Outer-Join-Abfrage für die Tabelle "Employees'" und die Tabelle "Laptop" aus, in der Mitarbeiter-ID, Mitarbeitername und Laptop-ID angezeigt werden.

SELECT E.MITARBEITERID, E.VORNAME, E.NACHNAME, L.LAPTOPID, L.NAME VON MITARBEITERN E LEFT OUTER JOIN LAPTOP L ON E.MITARBEITERID =L.MITARBEITERID; 

In der obigen Abfrage haben wir die Mitarbeiter-ID, den Vornamen, den Nachnamen aus der Laptop-ID der Mitarbeitertabelle und den Namen aus der Laptop-Tabelle angezeigt und eine Left Outer Join-Abfrage für diese beiden Tabellen durchgeführt. Die Abfrage gibt Nullwerte auf der rechten Seite der Tabelle zurück, wenn die Zeilen zwischen den Tabellen nicht ähnlich sind.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME LAPTOPID NAME
1001 VAIBHAVI MISHRA NULL NULL
1002 VAIBHAV SHARMA L102 HP
1003 NICHIL VANI NULL NULL
2001 PRACHI SHARMA NULL NULL
2002 BHAVESH JAIN NULL NULL
2003 RUSCHIKA JAIN NULL NULL
3001 PRANOTI SCHENDE NULL NULL
3002 ANUJA WANRE NULL NULL
3003 DEEPAM JAUHARI L104 HP
4001 RAJESH GOLD NULL NULL
4002 ASHWINI BAGHAT L105 DELL
4003 RUSCHIKA AGARWAL L106 LENOVO
5001 ARCHIT SHARMA L107 DELL

Beispiel 2: Schreiben Sie eine Abfrage, um die Mitarbeiter-ID, den Vornamen, den Nachnamen und das Gehalt aus der linken äußeren Verknüpfung der Mitarbeitertabelle in der Laptop-Tabelle abzurufen, in der das Gehalt> 55000 ist.

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME FROM EMPLOYEES E LEFT OUTER JOIN LAPTOP L ON E.EMPLOYEEID =L.EMPLOYEEID WHERE SALARY> 55000; 

In der obigen Abfrage haben wir die Mitarbeiterdetails aus der Tabelle „Employees“ und die Laptopdetails aus der Laptoptabelle abgerufen, aber nur die Mitarbeiterdetails, bei denen das Gehalt größer als 55000 ist. Wir haben die Left Outer Join-Abfrage für diese beiden Tabellen durchgeführt. Die Abfrage gibt Nullwerte auf der rechten Seite der Tabelle zurück, wenn die Zeilen zwischen den Tabellen nicht ähnlich sind.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME GEHALT LAPTOPID NAME
1001 VAIBHAVI MISHRA 65500 NULL NULL
1002 VAIBHAV SHARMA 60000 L102 HP
2001 PRACHI SHARMA 55500 NULL NULL
2002 BHAVESH JAIN 65500 NULL NULL
3001 PRANOTI SCHENDE 55500 NULL NULL
3003 DEEPAM JAUHARI 58500 L104 HP
4001 RAJESH GOLD 60500 NULL NULL
4003 RUSCHIKA AGARWAL 60000 L106 LENOVO
5001 ARCHIT SHARMA 55500 L107 DELL

Right Outer Join

Der rechte äußere Join gibt alle Tabellendatensätze auf der rechten Seite des Joins und übereinstimmende Datensätze für die Tabelle auf der linken Seite des Joins zurück. Die Ergebnismenge enthält null für die Datensätze, die auf der linken Seite nicht gemeinsam sind.

Syntax des rechten äußeren Joins:

SELECT        Table_Name1.Column_Name1,     Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 RIGHT OUTER JOIN Table_Name2 ON Table_Name1.Column_Name =Table_Name2.Column_Name;

Beispiele für SQL Right Outer Join

Beispiel 1: Führen Sie eine Right-Outer-Join-Abfrage für die Tabelle der Mitarbeiter und die Laptop-Tabelle aus, in der die Mitarbeiter-ID und der Name des Mitarbeiters angezeigt werden.

SELECT E.MITARBEITERID, E.VORNAME, E.NACHNAME, L.LAPTOPID, L.NAME VON MITARBEITERN E Right OUTER JOIN LAPTOP L ON E.MITARBEITERID =L.MITARBEITERID; 

In der obigen Abfrage haben wir die Mitarbeiter-ID, den Vornamen, den Nachnamen aus der Laptop-ID der Tabelle des Mitarbeiters und den Namen aus der Laptop-Tabelle angezeigt und die Right-Outer-Join-Abfrage für diese beiden Tabellen durchgeführt. Die Abfrage gibt Nullwerte auf der linken Seite der Tabelle zurück, wenn die Zeilen zwischen den Tabellen nicht ähnlich sind.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME LAPTOPID NAME
NULL NULL NULL L101 DELL
1002 VAIBHAV SHARMA L102 HP
NULL NULL NULL L103 LENOVO
3003 DEEPAM JAUHARI L104 HP
4002 ASHWINI BAGHAT L105 DELL
4003 RUSCHIKA AGARWAL L106 LENOVO
5001 ARCHIT SHARMA L107 DELL
NULL NULL NULL L108 HP
NULL NULL NULL L109 DELL
NULL NULL NULL L110 HP

Beispiel 2: Schreiben Sie eine Abfrage, um Mitarbeiter-ID, Vorname und Nachname aus der Tabelle des Mitarbeiters abzurufen. Right Outer Join in der Laptop-Tabelle, in der der Laptop-Name eine der Listen enthält, ist Dell, HP.

SELECT E.MITARBEITERID, E.VORNAME, E.NACHNAME, E.GEHALT, L.LAPTOPID, L.NAME VON MITARBEITERN E RIGHT OUTER JOIN LAPTOP L ON E.MITARBEITERID =L.MITARBEITERID WHERE L.NAME IN (' DELL', 'HP');

In der obigen Abfrage haben wir die Mitarbeiterdetails aus den Laptopdetails des Mitarbeitertischs auf dem Laptoptisch angezeigt. Wir haben die Right-Outer-Join-Abfrage für diese beiden Tabellen durchgeführt, nur der Mitarbeiter, dessen Laptop-Name eine der Listen enthält, ist Dell und HP. Die Abfrage gibt Nullwerte auf der linken Seite der Tabelle zurück, wenn die Zeilen zwischen den Tabellen nicht ähnlich sind.

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME LAPTOPID NAME
NULL NULL NULL L101 DELL
1002 VAIBHAV SHARMA L102 HP
3003 DEEPAM JAUHARI L104 HP
4002 ASHWINI BAGHAT L105 DELL
5001 ARCHIT SHARMA L107 DELL
NULL NULL NULL L108 HP
NULL NULL NULL L109 DELL
NULL NULL NULL L110 HP

Vollständiger äußerer Join

Full Outer Join führt das Ergebnis sowohl des Left Outer Joins als auch des Right Outer Joins zusammen. Full Outer Join ist dasselbe wie Cross Join. Full Outer Joins gibt die Ausgabe zurück, bei der Zeilen zwischen den Tabellen gemeinsam oder ungewöhnlich sind.

Syntax der vollständigen äußeren Verknüpfung:

SELECT COLUMNNAME1, COLUMNNAME2 FROM TABLE1 FULL JOIN TABLE2;

Beispiel 1: Schreiben Sie eine Abfrage, um die Mitarbeiter-ID, den Vornamen und den Nachnamen der Manager-ID aus der Full Outer Join Manager-Tabelle der Mitarbeitertabelle anzuzeigen, in der das Mitarbeitergehalt größer als 65000 ist.

MITARBEITER-ID AUSWÄHLEN, VORNAME, NACHNAME, M. MANAGERID VON MITARBEITER VOLLSTÄNDIG JOIN MANAGER M WHERE GEHALT> 65000;

In der obigen Abfrage haben wir die Mitarbeiterdetails und Managerdetails aus der Mitarbeiter- und Managertabelle angezeigt, wenn das Mitarbeitergehalt über 65000 liegt, indem wir eine vollständige Verknüpfung verwenden. Verbinden Sie vollständig jede Reihe der Mitarbeitertabelle mit jeder Reihe der Managertabelle, d. h. das kartesische Produkt wird entstehen. M * N

Ausgabe:

MITARBEITERID FIRST_NAME NACHNAME MANAGERID
1001 VAIBHAVI MISHRA 1
1001 VAIBHAVI MISHRA 2
1001 VAIBHAVI MISHRA 3
1001 VAIBHAVI MISHRA 4
1001 VAIBHAVI MISHRA 5
2002 BHAVESH JAIN 1
2002 BHAVESH JAIN 2
2002 BHAVESH JAIN 3
2002 BHAVESH JAIN 4
2002 BHAVESH JAIN 5

Wie wir sehen können, verbindet sich die Mitarbeiter-ID 1001 mit jeder Manager-ID, ebenso wie die Mitarbeiter-ID 2002.

Beispiel 2: Führen Sie eine vollständige Outer-Join-Abfrage für die Tabelle "Employees'" und die Tabelle "Laptop" aus, wobei das Gehalt des Mitarbeiters größer als 60000 ist und der Standort des Mitarbeiters Pune ist.

SELECT LAPTOPID, E.EMPLOYEEID, E.FIRST_NAME, E.SALARY, E.CITY FROM LAPTOP FULL JOIN EMPLOYEES E WHERE SALARY> 60000 AND CITY ='PUNE';

In der obigen Abfrage zeigen wir die Laptop-ID, die Mitarbeiter-ID, den Vornamen, das Gehalt und die Stadt von Laptop Full Join-Mitarbeitern an, nur diejenigen, deren Gehalt größer als 60000 ist und deren Stadt Pune ist. Wenn beide Bedingungen nur für Mitarbeiter zutreffen, wird der Datensatz abgerufen.

Ausgabe:

Cross Join

Kreuzverknüpfungen in SQL werden nichts anderes als ein kartesisches Produkt genannt. Jede Zeile einer Tabelle wird mit jeder Zeile der anderen Tabelle kombiniert oder zusammengeführt. M * N ist Cross-Join

Syntax von Cross Join:

SELECT COLUMNNAME1, COLUMNNAME2 FROM TABLE1 CROSS JOIN TABLE2;

Beispiel 1: Schreiben Sie eine Abfrage, um Cross-Join-Operationen für die Employees-Tabelle und die Manager-Tabelle durchzuführen, in denen der Vorname des Mitarbeiters mit A

beginnt
SELECT EMPLOYEEID, FIRST_NAME, M.MANAGERID FROM EMPLOYEES CROSS JOIN MANAGER M WHERE FIRST_NAME WIE 'A%';

Im obigen Beispiel einer vollständigen Outer-Join-Abfrage haben wir die Mitarbeiterdetails und Managerdetails aus der Employee-Tabelle und der Manager-Tabelle abgerufen, aber nur die Datensätze, bei denen der Vorname des Mitarbeiters mit dem Buchstaben „A“ beginnt.

Ausgabe:

Das Ergebnis zeigt, dass die Mitarbeiter-ID ein Cross Join mit jeder Manager-ID-Zeile ist.

M * N Hier ist M =3; Mitarbeiter-ID aus Mitarbeitertabellen

N =5; Manager-ID aus Manager-Tabelle 3 * 5 =15 Zeilen.

Beispiel 2: Schreiben Sie eine Abfrage, um einen Cross-Join-Vorgang für Laptop-Tabellen und Mitarbeitertabellen durchzuführen, bei denen das Mitarbeitergehalt größer als 58000 und Mumbai ist.

SELECT LAPTOPID, NAME, E.EMPLOYEEID FROM LAPTOP CROSS JOIN EMPLOYEES E WHERE SALARY> 58000 AND CITY ='MUMBAI';

In der obigen Abfrage haben wir die Laptop-ID, den Namen und die Mitarbeiter-ID aus der Laptop-Tabelle angezeigt, um eine Cross-Join-Operation für die Mitarbeitertabelle durchzuführen, wenn das Mitarbeitergehalt größer als 58000 ist und die Stadt Pune ist. Cross Join verhält sich wie M * N.

Ausgabe: