数据库
首页 > 数据库> > MYSQL——联结表

MYSQL——联结表

作者:互联网

关系表:

假如有由同一供应商生产的多种物品,那么在何处存储供应商信息(如,供应商名、地址、联系方法等)呢?

分开存储供应商信息与产品信息有利于节约存储空间,减少相同数据出现的次数,也有方便更改供应商的信息。

在此,我们可以建立两个表,表vendors存储所有供应商信息,每个供应商占一行,并拥有唯一标识,此标识称为主键(primary key),可以是供应商ID或者其他唯一值。products表只存储产品信息,它除了存储供应商ID(vendors表的主键),不再存储供应商的其他信息。vendors表的主键又称为products表的外键(外键为表中的一列,它包含另一个表中的主键值,定义了两个表的关系),它将两张表关联起来,利用供应商ID便能从vendors表中查询出供应商的详细信息。

 

为什么使用联结:

如果数据存储在多个表中,怎样用单条SELECT语句检索出数据?

联结是一种机制,用来在一条SELECT 语句中关联表。(维护引用完整性:例如通过在表中定义主键和外键来避免出现非法供应商ID)

 

 上述代码通过where子句将两个表联结在一起,注意使用完全限定列名(在引用的列可能出现二义性时,必须使用完 全限定列名(用一个点分隔的表名和列名)。应该保证所有联结都有WHERE子句,否 则MySQL将返回比想要的数据多得多的数据。)

 

上述联结称为等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内部联结。也可以使用下面的INNER JOIN ON语句实现相同的效果

 

标签:存储,供应商,MYSQL,联结,vendors,表中,主键
来源: https://www.cnblogs.com/iscanghai/p/15206770.html