数据库内连接和外连接的区别举例(sql面试必会6题经典)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《数据库内连接和外连接的区别举例(sql面试必会6题经典)》的相关信息,《数据库内连接和外连接的区别举例(sql面试必会6题经典)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《数据库内连接和外连接的区别举例(sql面试必会6题经典)》的详细说明。
国外云主机,www.2 bp .net

本章节向大家介绍如何使用 MySQL 的 JOIN 在两个或多个表中查询数据。

前提如下供后面学习所用:

查看学生表的全部记录SELECT * FROM STUDENT;

数据库内连接和外连接的区别举例(sql面试必会6题经典)

查看地址表的全部记录:SELECT * FROM ADDRESS;

数据库内连接和外连接的区别举例(sql面试必会6题经典)

表连接按照功能大致分为如下三类:

内连接(INNER JOIN)也称等值连接

  • 它基于两个表之间的相等连接,获取两个表中字段匹配关系的记录。

SELECT * FROM STUDENT A INNER JOIN ADDRESS B ON A.ID=B.A_ID;

数据库内连接和外连接的区别举例(sql面试必会6题经典)

外连接(OUTER JOIN):

外连接不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。

外连接分三类:

1、左外连接(LEFT OUTER JOIN):LEFT JOIN是LEFT OUTER JOIN的简写

左(外)连接,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

SELECT * FROM STUDENT A LEFT OUTER JOIN ADDRESS B ON A.ID=B.A_ID

数据库内连接和外连接的区别举例(sql面试必会6题经典)

2、右外连接(RIGHT JOIN):right join是right outer join的简写

与左(外)连接相反,右(外)连接,左表只会显示符合搜索条件的记录,而右表的记录将会全部表示出来。左表记录不足的地方均为NULL。

SELECT * FROM STUDENT A RIGHT OUTER JOIN ADDRESS B ON A.ID=B.A_ID

数据库内连接和外连接的区别举例(sql面试必会6题经典)

3、全外连接(FULL OUTER JOIN)

MySQL 已经没有全连接了,有的教程上还写着 full join 但是实现不了,不过可以换一种方式来查询。

SELECT * FROM STUDENT A LEFT JOIN ADDRESS B ON A.ID=B.A_ID

UNION

SELECT * FROM STUDENT A RIGHT JOIN ADDRESS B ON A.ID=B.A_ID;

数据库内连接和外连接的区别举例(sql面试必会6题经典)

三者的共同点:都返回符合连接条件和查询条件(即:内连接)的数据行。

三者的不同点如下:


1、左外连接还返回左表中不符合连接条件单符合查询条件的数据行。


2、右外连接还返回右表中不符合连接条件单符合查询条件的数据行。


3、全外连接还返回左表中不符合连接条件单符合查询条件的数据行,并且还返回右表中不符合 连接条件单符合查询条件的数据行。

全外连接实际上是上左外连接和右外连接的数学合集(去掉重复),即“全外=左外 UNION 右外”。


注意:左表就是在“(LEFT OUTER JOIN)”关键字左边的表。右表就是右边的了。在三种类型的外连接中,OUTER 关键字是可以省略的。

交叉连接 : 也称作笛卡尔积。

它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每行都一一匹配。

SELECT * FROM STUDENT A CROSS JOIN ADDRESS B

等价于:

SELECT * FROM STUDENT A , ADDRESS B

数据库内连接和外连接的区别举例(sql面试必会6题经典)
国外云主机,www.2 bp .net
提醒:《数据库内连接和外连接的区别举例(sql面试必会6题经典)》最后刷新时间 2023-03-27 02:21:36,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《数据库内连接和外连接的区别举例(sql面试必会6题经典)》该内容的真实性请自行鉴别。