Her er det bedste eksempel på Cross Join og Inner Join.
Overvej følgende tabeller
TABEL :Teacher
x------------------------x
| TchrId | TeacherName |
x----------|-------------x
| T1 | Mary |
| T2 | Jim |
x------------------------x
TABEL :Student
x--------------------------------------x
| StudId | TchrId | StudentName |
x----------|-------------|-------------x
| S1 | T1 | Vineeth |
| S2 | T1 | Unni |
x--------------------------------------x
1. INDRE JOIN
Indre sammenføjning vælger de rækker, der opfylder både tabellen .
Overvej, at vi skal finde de lærere, der er klasselærere, og deres tilsvarende elever. I den tilstand skal vi anvende JOIN
eller INNER JOIN
og vil
Forespørgsel
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
- SQL FIDDLE
Resultat
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x
2. CROSS JOIN
Cross join vælger alle rækkerne fra den første tabel og alle rækkerne fra den anden tabel og viser som kartesisk produkt, dvs. med alle muligheder
Tænk på, at vi skal finde alle lærere i skolen og elever, uanset klasselærere, vi skal anvende CROSS JOIN
.
Forespørgsel
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
CROSS JOIN #Student S
- SQL FIDDLE
Resultat
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T2 | Jim | Vineeth |
| T2 | Jim | Unni |
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x