SQL JOIN
Ein SQL-Join wird verwendet, um Daten (Zeilen oder Spalten) aus zwei oder mehr Tabellen basierend auf den definierten Bedingungen abzurufen oder zu kombinieren.
Tabelle 1: Bestellung
Auftragsnummer | Kundennummer | Bestellname | Produktname |
---|---|---|---|
12025 | 101 | Peter | ABC |
12030 | 105 | Robert | XYX |
12032 | 110 | James | XYZ |
12034 | 115 | Andreas | PQR |
12035 | 120 | Mathew | AAA |
Tabelle 2: Kunde
Kundennummer | Kundenname | Land |
---|---|---|
100 | Unordentlich | Maxico |
101 | Prinz | Taiwan |
103 | Maria Fernandez | Truthahn |
105 | Jasmin | Paris |
110 | Faf Wiesel | Indonesien |
120 | Rom-Rakete | Russland |
Jetzt haben wir zwei Tische Befehl und das Kunde . Da ist ein Kundennummer Spalte, die in beiden Tabellen gemeinsam ist. Schreiben Sie also die SQL-Abfrage, um die allgemeine Beziehung zur Auswahl der übereinstimmenden Datensätze aus beiden Tabellen zu definieren.
Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID;
Nachdem Sie das oben Gesagte ausgeführt haben SQL Abfragen erzeugt es die folgende Ausgabe:
Auftragsnummer | Kundenname | Land | Produktname |
---|---|---|---|
12025 | Prinz | Taiwan | ABC |
12030 | Jasmin | Paris | XYX |
12032 | Faf Wiesel | Indonesien | XYZ |
12035 | Rom-Rakete | Russland | AAA |
Arten von SQL-Joins
In SQL werden verschiedene Arten von Joins verwendet:
- Innerer Join / einfacher Join
- Linker äußerer Join / Linker Join
- Rechter äußerer Join / rechter Join
- Vollständiger äußerer Join
- Cross-Join
- Selbst beitreten
Innere Verbindung
Der Inner Join wird verwendet, um alle übereinstimmenden Zeilen oder Spalten in beiden Tabellen auszuwählen oder solange die definierte Bedingung in SQL gültig ist.
Syntax:
Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Wir können den Inner Join durch das Venn-Diagramm wie folgt darstellen:
Tabelle 1: Studierende
Studenten ID | Name des Studenten | Thema | Lehrer-ID |
---|---|---|---|
101 | Alexandra | Informatik | T201 |
102 | Charles | Wirtschaft | T202 |
103 | Tom Cruise | Informatik | T201 |
104 | Aaron Finch | Elektronik | T203 |
105 | Samen Bajoff | Webdesign | T204 |
106 | Christoph | Englische Literatur | T205 |
107 | Denim | Modedesigner | T206 |
Tabelle 2: Lehrer
Lehrer-ID | Der Name des Lehrers | Lehrer-E-Mail |
---|---|---|
T201 | Herr Davis | [email protected] |
T202 | Frau Jonas | [email protected] |
T201 | Herr Davis | [email protected] |
T204 | Frau Lopez | [email protected] |
T205 | Frau Wiley | [email protected] |
T206 | MR Bean | [email protected] |
Wir haben zwei Tabellen: Studenten und das Lehrer Tische. Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen INNER JOIN wie folgt:
Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID;
Nach der Ausführung der Abfrage wird die folgende Tabelle erstellt.
Natürliche Verbindung
Dabei handelt es sich um einen inneren Typ, der zwei oder mehr Tabellen auf der Grundlage desselben Spaltennamens verbindet und in beiden Tabellen denselben Datentyp aufweist.
Syntax:
Select * from tablename1 Natural JOIN tablename_2;
Wir haben zwei Tabellen: Studenten und das Lehrer Tische. Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen Natürlicher JOIN wie folgt:
Select * from Students Natural JOIN Teachers;
Nach der Ausführung der obigen Abfrage wird die folgende Tabelle erstellt.
LINKS BEITRETEN
Der LINKS BEITRETEN wird verwendet, um alle Datensätze aus der linken Tabelle (Tabelle1) und die übereinstimmenden Zeilen oder Spalten aus der rechten Tabelle (Tabelle2) abzurufen. Wenn beide Tabellen keine übereinstimmenden Zeilen oder Spalten enthalten, wird NULL zurückgegeben.
Syntax:
Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name;
Wir können die linke Verknüpfung auch wie folgt durch das Venn-Diagramm darstellen:
Hinweis: In einigen Datenbanken wird LEFT JOIN auch als LEFT OUTER JOIN bezeichnet.
Tabelle 1: Produktdetails
Produkt ID | Produktname | Menge |
---|---|---|
Pro101 | Laptop | 56000 |
Pro102 | Handy, Mobiltelefon | 38000 |
Pro103 | Kopfhörer | 5000 |
Pro104 | Fernsehen | 25000 |
Pro105 | iPad | 60000 |
Tabelle 2: Kundendetails
Lesen Sie die CSV-Datei in Java
Kundenname | Kundenadresse | Kundenalter | Produkt ID |
---|---|---|---|
Martin Guptill | San Francisco, USA | 26 | Pro101 |
James | Australien | 29 | Pro103 |
Ambati Williamson | Neuseeland | 27 | Pro102 |
Jofra Archer | Südafrika | 24 | Pro105 |
Kate Wiley | Australien | zwanzig | Pro103 |
Wir haben zwei Tabellen: Produktdetails und das Kundendetails Tische. Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen LINKS BEITRETEN wie folgt:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Nach der Ausführung der Abfrage wird die folgende Tabelle erstellt.
RIGHT JOIN oder RIGHT Outer JOIN:
Der RICHTIG BEITRETEN wird verwendet, um alle Datensätze aus der rechten Tabelle (Tabelle2) und die übereinstimmenden Zeilen oder Spalten aus der linken Tabelle (Tabelle1) abzurufen. Wenn beide Tabellen keine übereinstimmenden Zeilen oder Spalten enthalten, wird NULL zurückgegeben.
Syntax:
Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name;
Wir können die rechte Verknüpfung auch wie folgt durch das Venn-Diagramm darstellen:
Hinweis: In einigen Datenbanken wird der RIGHT JOIN auch als RIGHT OUTER JOIN bezeichnet.
Tabelle 1: Produktdetails
AUSWEIS | Produktname | Menge |
---|---|---|
Pro101 | Laptop | 56000 |
Pro102 | Handy, Mobiltelefon | 38000 |
Pro103 | Kopfhörer | 5000 |
Pro104 | Fernsehen | 25000 |
Pro105 | iPad | 60000 |
Tabelle 2: Kundendetails
Kundenname | Kundenadresse | Kundenalter | Produkt ID |
---|---|---|---|
Martin Guptill | San Francisco, USA | 26 | Pro101 |
James | Australien | 29 | Pro103 |
Ambati Williamson | Neuseeland | 27 | Pro102 |
Jofra Archer | Südafrika | 24 | Pro105 |
Omen | England | 29 | Pro107 |
Morgan | England | zwanzig | Pro108 |
Wir haben zwei Tabellen: Produktdetails und das Kundendetails Tische. Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen RICHTIG BEITRETEN wie folgt:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Nach der Ausführung der Abfrage wird die folgende Tabelle erstellt.
FULL JOIN oder FULL Outer JOIN:
Es handelt sich um eine Kombinationsergebnismenge aus beiden LINKS BEITRETEN Und RICHTIG BEITRETEN . Die verbundenen Tabellen geben alle Datensätze aus beiden Tabellen zurück. Wenn in der Tabelle keine Übereinstimmungen gefunden werden, wird NULL eingefügt. Es wird auch a genannt VOLLSTÄNDIGE ÄUSSERE VERBINDUNG .
Syntax:
Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name;
Oder, VOLLSTÄNDIGE ÄUSSERE VERBINDUNG
Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name;
Wir können den vollständigen Outer Join auch wie folgt durch das Venn-Diagramm darstellen:
Tabelle 1: Produktdetails
AUSWEIS | Produktname | Menge |
---|---|---|
Pro101 | Laptop | 56000 |
Pro102 | Handy, Mobiltelefon | 38000 |
Pro103 | Kopfhörer | 5000 |
Pro104 | Fernsehen | 25000 |
Pro105 | iPad | 60000 |
Tabelle 2: Kundendetails
Kundenname | Kundenadresse | Kundenalter | Produkt ID |
---|---|---|---|
Martin Guptill | San Francisco, USA | 26 | Pro101 |
James | Australien | 29 | Pro103 |
Ambati Williamson | Neuseeland | 27 | Pro102 |
Jofra Archer | Südafrika | 24 | Pro105 |
Omen | England | 29 | Pro107 |
Morgan | England | zwanzig | Pro108 |
Wir haben zwei Tabellen: Produktdetails und das Kundendetails Tische. Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen VOLL Treten Sie wie folgt bei:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Nach der Ausführung der Abfrage wird die folgende Tabelle erstellt.
Hinweis: MySQL unterstützt keine FULL JOIN-Konzepte, daher können wir die UNION ALL-Klausel verwenden, um beide Tabellen zu kombinieren.
Hier ist die Syntax für UNION ALLE Klausel zum Kombinieren der Tabellen.
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID
KREUZVERBINDUNG
Es ist auch bekannt als KARTESISCHE VERBINDUNG , das das kartesische Produkt von zwei oder mehr verbundenen Tabellen zurückgibt. Der KREUZVERBINDUNG erzeugt eine Tabelle, die jede Zeile der ersten Tabelle mit jeder zweiten Tabellenzeile zusammenführt. Es ist nicht erforderlich, eine Bedingung in CROSS JOIN aufzunehmen.
Syntax:
Select * from table_1 cross join table_2;
Oder,
Select column1, column2, column3 FROM table_1, table_2;
Tabelle 1: Produktdetails
AUSWEIS | Produktname | Menge |
---|---|---|
Pro101 | Laptop | 56000 |
Pro102 | Handy, Mobiltelefon | 38000 |
Pro103 | Kopfhörer | 5000 |
Pro104 | Fernsehen | 25000 |
Pro105 | iPad | 60000 |
Tabelle 2: Kundendetails
Kundenname | Kundenadresse | Kundenalter | Produkt ID |
---|---|---|---|
Martin Guptill | San Francisco, USA | 26 | Pro101 |
James | Australien | 29 | Pro103 |
Ambati Williamson | Neuseeland | 27 | Pro102 |
Jofra Archer | Südafrika | 24 | Pro105 |
Omen | England | 29 | Pro107 |
Morgan | England | zwanzig | Pro108 |
Wir haben zwei Tabellen: Produktdetails und das Kundendetails Tische. Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen VOLL Treten Sie wie folgt bei:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details;
Nach der Ausführung der Abfrage wird die folgende Tabelle erstellt.
SELBST BEITRETEN
Es handelt sich um einen SELF JOIN, der zum Erstellen einer Tabelle verwendet wird, indem er sich selbst verbindet, da es zwei Tabellen gab. Es ermöglicht die vorübergehende Benennung mindestens einer Tabelle in einer SQL-Anweisung.
Syntax:
Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition;
Tabelle 1 Und Tbl2 sind zwei verschiedene Tabellenaliase für dieselbe Tabelle.
Tabelle 1: Produktdetails
AUSWEIS | Produktname | Menge |
---|---|---|
Pro101 | Laptop | 56000 |
Pro102 | Handy, Mobiltelefon | 38000 |
Pro103 | Kopfhörer | 5000 |
Pro104 | Fernsehen | 25000 |
Pro105 | iPad | 60000 |
Schreiben wir die SQL-Abfragen, um die Tabelle mithilfe von zu verknüpfen SELBST BEITRETEN wie folgt:
römische Zifferntabelle 1 100
Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>