sql >> Base de Datos >  >> RDS >> Sqlserver

CROSS JOIN vs INNER JOIN en SQL

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