【SQL】左连接、右连接和全连接、内连接的区别

  身为一名软件测试人员,工作中遇到需要操作数据库的情况,太多了。在好几次面试后都遇到的一些问题,想着记录一下,方便日后复习,也整理一下自己的思路。

题目:

  简述一下连表查询时左右连接的区别。

叙述:

  左(外)连接(LEFT JOIN),以左表为基准,查询出左表所有的数据和右表中连接字段相等的记录,如果右表中没有对应数据,则在左表记录后显示为空(NULL).如果把两个表分别看成一个集合的话,则显示的结果为JOIN左边的集合。

  同理,右(外)连接(RIGHT JOIN )是以右表为基准,查询出右表所有的数据和左表中连接字段相等的记录,如果左表没有对应数据则在右表对应数据行显示为空(NULL).如果把两个表分别看成一个集合的话,则显示的结果为JOIN右边的集合。

  内连接(INNER JOIN )是查询出两个表对应的数据,如果把两个表分别看成一个集合的话,内连接的结果即为两个表的交集。

  全连接(FULL JOIN )将两个表的数据全部查出来,返回左右表中所有的记录和左右表中连接字段相等的记录,如果把两个表分别看成一个集合的话,全外连接的结果即为两个表的并集。

  PS:  

    其实,当时面试的时候,回答的不是很好,就想着记下来,也算是复习了,哈哈

猜你喜欢

转载自www.cnblogs.com/xjrecord/p/12196873.html