Oto najlepszy przykład łączenia krzyżowego i łączenia wewnętrznego.
Rozważ następujące tabele
TABELA:Teacher
x------------------------x
| TchrId | TeacherName |
x----------|-------------x
| T1 | Mary |
| T2 | Jim |
x------------------------x
TABELA:Student
x--------------------------------------x
| StudId | TchrId | StudentName |
x----------|-------------|-------------x
| S1 | T1 | Vineeth |
| S2 | T1 | Unni |
x--------------------------------------x
1. DOŁĄCZENIE WEWNĘTRZNE
Złączenie wewnętrzne wybiera wiersze, które spełniają wymagania obu tabeli .
Rozważ, że musimy znaleźć nauczycieli, którzy są nauczycielami klas i odpowiadających im uczniów. W takim przypadku musimy zastosować JOIN
lub INNER JOIN
i będzie
Zapytanie
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
- SKOCZKA SQL
Wynik
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x
2. POŁĄCZENIE KRZYŻOWE
Złączenie krzyżowe wybiera wszystkie wiersze z pierwszej tabeli i wszystkie wiersze z drugiej tabeli i pokazuje jako produkt kartezjański, tj. ze wszystkimi możliwościami
Rozważ, że musimy znaleźć wszystkich nauczycieli w szkole i uczniów, niezależnie od nauczycieli klasowych, musimy zastosować CROSS JOIN
.
Zapytanie
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
CROSS JOIN #Student S
- SKOCZKA SQL
Wynik
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T2 | Jim | Vineeth |
| T2 | Jim | Unni |
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x