SQL| JOIN(Inner, Left, Right und Full Joins)
In diesem Artikel, diskutieren wir über die verbleibenden zwei JOINS:
- KARTESISCHEN JOIN
- SELF JOIN
Betrachten Sie die beiden folgenden Tabellen:
StudentCourse
- KARTESISCHE VERKNÜPFUNG: Das KARTESISCHE VERKNÜPFUNG ist auch bekannt als CROSS JOIN. In einem KARTESISCHEN JOIN gibt es einen Join für jede Zeile einer Tabelle zu jeder Zeile einer anderen Tabelle., Dies geschieht normalerweise, wenn die übereinstimmende Spalte oder WHERE condition nicht angegeben ist.
- In Ermangelung einer WHERE Bedingung verhält sich der KARTESISCHE JOIN wie ein KARTESISCHES PRODUKT . dh die Anzahl der Zeilen in der Ergebnismenge ist das Produkt der Anzahl der Zeilen der beiden Tabellen.
- Bei Vorliegen einer WHERE-Bedingung funktioniert dieser JOIN wie ein INNER JOIN.,
- Im Allgemeinen ähnelt Cross Join einem inneren Join, bei dem die Join-Bedingung immer als Wahr ausgewertet wird
Syntax:
SELECT table1.column1 , table1.column2, table2.column1...FROM table1CROSS JOIN table2;table1: First table.table2: Second table
Beispielabfragen(KARTESISCHER JOIN):
- In der folgenden Abfrage wählen wir NAME und Alter aus der Studententabelle und COURSE_ID aus der StudentCourse Tabelle. In der Ausgabe sehen Sie, dass jede Zeile der Tabelle Student mit jeder Zeile der Tabelle StudentCourse verbunden ist. Die Gesamtzeilen in der Ergebnismenge = 4 * 4 = 16.,
SELECT Student.NAME, Student.AGE, StudentCourse.COURSE_IDFROM StudentCROSS JOIN StudentCourse;
Ausgabe:
- SELF JOIN: Wie der Name schon sagt, wird in SELF JOIN eine Tabelle mit sich selbst verbunden. Das heißt, jede Zeile der Tabelle wird abhängig von bestimmten Bedingungen mit sich selbst und allen anderen Zeilen verbunden. Mit anderen Worten, wir können sagen, dass es sich um einen Join zwischen zwei Kopien derselben Tabelle handelt.,Syntax:
SELECT a.coulmn1 , b.column2FROM table_name a, table_name bWHERE some_condition;table_name: Name of the table.some_condition: Condition for selecting the rows.
Beispiel-Abfragen(SELF-JOIN):
SELECT a.ROLL_NO , b.NAMEFROM Student a, Student bWHERE a.ROLL_NO < b.ROLL_NO;
Output:
Dieser Artikel ist contributed by Harsh Agarwal. Wenn Sie GeeksforGeeks mögen und einen Beitrag leisten möchten, können Sie auch einen Artikel mit schreiben contribute.geeksforgeeks.org oder mailen Sie Ihren Artikel an [email protected]. Sehen Sie Ihren Artikel auf der Hauptseite von GeeksforGeeks und helfen Sie anderen Geeks.