面试被问到MySQL 外连接内连接与自连接的区别,怎么回答?

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试被问到MySQL 外连接内连接与自连接的区别,怎么回答?相关的知识,希望对你有一定的参考价值。

先说什么是交叉连接: 交叉连接又叫笛卡尔积,它是指不使用任何条件,直接将一个表的所有记录和另一个表中的所有记录一一匹配。

内连接则是只有条件的交叉连接,根据某个条件筛选出符合条件的记录,不符合条件的记录不会出现在结果集中,即内连接只连接匹配的行。

外连接其结果集中不仅包含符合连接条件的行,而且还会包括左表、右表或两个表中的所有数据行,这三种情况依次称之为左外连接, 右外连接,和全外连接。

左外连接,也称左连接,左表为主表,左表中的所有记录都会出现在结果集中,对于那些在右表中并没有匹配的记录,仍然要显示,右边对应的那些字段值以NULL 来填充。右外连接,也称右连接,右表为主表,右表中的所有记录都会出现在结果集中。左连接和右连接可以互换, mysql 目前还不支持全外连接。

以上是关于面试被问到MySQL 外连接内连接与自连接的区别,怎么回答?的主要内容,如果未能解决你的问题,请参考以下文章

数据库面试系列大纲

MySQL面试题

MySQL连接查询 内连接和外连接的区别

mysql内连接和外连接的区别

MySQL 的内连接、左连接、右连接有啥区别?

SQL内连接与外连接的区别