MySql教程

MYSQL——联结表

本文主要是介绍MYSQL——联结表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • 什么是联结

关系表:

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

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

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

 

为什么使用联结:

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

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

 

  • 创建联结

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

 

  • 内部联结

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

 

这篇关于MYSQL——联结表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!