Hier ist das beste Beispiel für Cross Join und Inner Join.
Betrachten Sie die folgenden Tabellen
TABELLE :Teacher
x------------------------x
| TchrId | TeacherName |
x----------|-------------x
| T1 | Mary |
| T2 | Jim |
x------------------------x
TABELLE :Student
x--------------------------------------x
| StudId | TchrId | StudentName |
x----------|-------------|-------------x
| S1 | T1 | Vineeth |
| S2 | T1 | Unni |
x--------------------------------------x
1. INNERER JOIN
Inner Join wählt die Zeilen aus, die sowohl die Tabelle erfüllen .
Bedenken Sie, dass wir die Lehrer finden müssen, die Klassenlehrer sind, und ihre entsprechenden Schüler. In diesem Fall müssen wir JOIN
anwenden oder INNER JOIN
und wird
Abfrage
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
- SQL-FIDDLE
Ergebnis
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x
2. CROSS JOIN
Cross Join wählt alle Zeilen aus der ersten Tabelle und alle Zeilen aus der zweiten Tabelle aus und zeigt sie als kartesisches Produkt, dh mit allen Möglichkeiten
Wenn wir bedenken, dass wir alle Lehrer in der Schule und alle Schüler unabhängig von den Klassenlehrern finden müssen, müssen wir CROSS JOIN
anwenden .
Abfrage
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
CROSS JOIN #Student S
- SQL-FIDDLE
Ergebnis
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T2 | Jim | Vineeth |
| T2 | Jim | Unni |
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x