Este es el mejor ejemplo de Cross Join e Inner Join.
Considere las siguientes tablas
TABLA:Teacher
x------------------------x
| TchrId | TeacherName |
x----------|-------------x
| T1 | Mary |
| T2 | Jim |
x------------------------x
TABLA:Student
x--------------------------------------x
| StudId | TchrId | StudentName |
x----------|-------------|-------------x
| S1 | T1 | Vineeth |
| S2 | T1 | Unni |
x--------------------------------------x
1. UNIÓN INTERNA
La unión interna selecciona las filas que satisfacen tanto la tabla .
Considere que necesitamos encontrar los maestros que son maestros de clase y sus estudiantes correspondientes. En esa condición, necesitamos aplicar JOIN
o INNER JOIN
y será
Consulta
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
- VIAJE DE SQL
Resultado
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x
2. UNIÓN CRUZADA
La combinación cruzada selecciona todas las filas de la primera tabla y todas las filas de la segunda tabla y las muestra como un producto cartesiano, es decir, con todas las posibilidades
Considere que necesitamos encontrar a todos los maestros de la escuela y los estudiantes independientemente de los maestros de la clase, necesitamos aplicar CROSS JOIN
.
Consulta
SELECT T.TchrId,T.TeacherName,S.StudentName
FROM #Teacher T
CROSS JOIN #Student S
- VIAJE DE SQL
Resultado
x--------------------------------------x
| TchrId | TeacherName | StudentName |
x----------|-------------|-------------x
| T2 | Jim | Vineeth |
| T2 | Jim | Unni |
| T1 | Mary | Vineeth |
| T1 | Mary | Unni |
x--------------------------------------x