Här är det bästa exemplet på Cross Join och Inner Join.
Tänk på följande tabeller
TABELL :Teacher
x------------------------x
| TchrId | TeacherName |
x----------|-------------x
| T1 | Mary |
| T2 | Jim |
x------------------------x
TABELL :Student
x--------------------------------------x
| StudId | TchrId | StudentName |
x----------|-------------|-------------x
| S1 | T1 | Vineeth |
| S2 | T1 | Unni |
x--------------------------------------x
1. INRE JOIN
Inner join väljer de rader som uppfyller båda tabellen .
Tänk på att vi måste hitta de lärare som är klasslärare och deras motsvarande elever. I det tillståndet måste vi tillämpa JOIN
eller INNER JOIN
och kommer
Fråga
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äljer alla rader från den första tabellen och alla rader från den andra tabellen och visas som kartesisk produkt, dvs med alla möjligheter
Tänk på att vi måste hitta alla lärare i skolan och elever, oavsett klasslärare, vi måste tillämpa CROSS JOIN
.
Fråga
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