Ето най-добрия пример за кръстосано свързване и вътрешно свързване.
Помислете за следните таблици
ТАБЛИЦА :Teacher
x------------------------x
| TchrId | TeacherName |
x----------|-------------x
| T1 | Mary |
| T2 | Jim |
x------------------------x
ТАБЛИЦА :Student
x--------------------------------------x
| StudId | TchrId | StudentName |
x----------|-------------|-------------x
| S1 | T1 | Vineeth |
| S2 | T1 | Unni |
x--------------------------------------x
1. ВЪТРЕШНО СЪЕДИНЕНИЕ
Вътрешното съединение избира редовете, които удовлетворяват и двете таблица .
Помислете, че трябва да намерим учителите, които са класни ръководители, и съответните им ученици. При това условие трябва да приложим JOIN
или INNER JOIN
и ще
Запитване
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
- SQL FIDDLE
Резултат
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x
2. КРЪСТНО ПРИСЪЕДИНЯВАНЕ
Кръстосаното свързване избира всички редове от първата таблица и всички редове от втората таблица и се показва като декартов продукт, т.е., с всички възможности
Помислете, че трябва да намерим всички учители в училището и ученици, независимо от класните ръководители, трябва да приложим CROSS JOIN
.
Запитване
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
CROSS JOIN #Student S
- SQL FIDDLE
Резултат
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T2 | Jim | Vineeth |
| T2 | Jim | Unni |
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x