これがクロスジョインとインナージョインの最良の例です。
次の表を検討してください
表: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。クロスジョイン
クロス結合は、最初のテーブルからすべての行を選択し、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