这里是交叉连接和内部连接的最佳示例。
考虑下表
表: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小提琴
结果
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小提琴
结果
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T2 | Jim | Vineeth |
| T2 | Jim | Unni |
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x