mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作

在上一篇的文章当中,将mysql的安装和基本操作都已经进行了介绍和讲解。在这一篇文章当中,让我们继续进行mysql的学习。

截图内容来源于(《MySQL必知必会》)

联结(join)

联结是SQL的SELECT能执行的最重要的操作。在可以有效地使用联结之前,需要了解关系表的概念。

关系表
关系表的存在是保证把信息分解为多个表,一类数据一类表,这样可以有效的防止相同的数据出现多次。这些表通过常用的指互相关联。
这里就可以引出外键的定义:外键为某一个表中的一列,它包含着另一个表的主键值,定义了两个表之间的关系。
上面的概念比较的抽象,举一个列子让大家好理解一些。
有一个数据库表中包含产品目录,其中每一行代表一种物品的产品描述和价格,还有生产该产品的供应商信息(包括供应商名称、地址、联系方式等)。如果有同一个供应商生产多种物品,那么会有很多的数据重复,这样产生的结果很浪费存储的空间和查询的时间,并且如果需要更改供应商的信息,需要改变多次。如果使用关系表,建立两个表,一个a表存储供应商信息(主键为供应商ID),一个b表存储产品信息(主键为产品ID),在b表中只存储产品信息和供应商ID,供应商ID就是b表的外键,通过它可以将a表和b表进行关联。

当我们使用了关系表,将数据存储到多个表当中,怎样用单条的SELECT语句?用的就是联结的方式。
创建联结
1.等值联结(内部联结)
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
要规定联结的所有表和他们如何关联。

mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作

多个表的联结:
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
2. 自联结
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
3. 自然联结

mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作

4.外部联结

mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作
mysql的集结号 读完这篇 妈妈再也不怕面试官问我数据库的知识了!(二)之联结操作