要点:left join,right join,inner join
首先有如下两个表:
Student:
| ID(int) | Name(nvarchar) |
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
| 5 |
e |
| 6 | f |
| ID(int) | score(int) |
| 1 | 60 |
| 2 | 70 |
| 4 | 80 |
| 6 | 90 |
| 8 | 100 |
| 9 | 30 |
select Student.Name,Quiz.score from Quiz inner join Student on Student.ID=Quiz.ID
| Name | score |
| a | 60 |
| b | 70 |
| d | 80 |
| f | 90 |
select Student.Name,Quiz.score from Student left join Quiz on Student.ID=Quiz.ID
| Name | score |
| a | 60 |
| b | 70 |
| c | null |
| d | 80 |
| e | null |
| f | 90 |
select Student.Name,Quiz.score from Student right join Quiz on Student.ID=Quiz.ID
| Name | score |
| a | 60 |
| b | 70 |
| d | 80 |
| f | 90 |
| null | 100 |
| null | 30 |
select Student.Name,Quiz.score from Student right join Quiz on Student.ID=Quiz.ID等价于
select Student.Name,Quiz.score from Quiz left join Student on Student.ID=Quiz.ID