SQL Server中left join、inner join和right join的区别?
数据库是我们IT行家常的事情,相信大家都不陌生,计算机专业都开了数据库系统概论这门课程,我分享下在暑假找实习参加宣讲会过程做的笔试题中遇到关于left join、inner join和right join的区别的简述题,希望对需要的朋友有所帮助。看下面一个小例子,我懒的开软件,用Excel替代下,谅解谅解~
student表:
grade表:
1 -left join:中文意思理解为左外连接,返回的结果是返回左表中所有的记录以及右表中连接字段相等的记录,没有匹配结果使用NULL填补,即左表全部行+右表匹配的行。
select * from student left outer join grade on student.sno = grade.sno;
2 - inner join:内连接,又叫等值连接,只返回两个表中连接字段相等的行。
select * from student inner join grade on student.sno = grade.sno;
3- right join:右连接,返回右表中所有的记录以及左表中连接字段相等的记录,没有匹配结果使用NULL填补,即右边全部行+左边匹配的行。
select * from student right outer join grade on student.sno = grade.sno;