使用 sql 中的键连接数据库中的多个表
Posted
技术标签:
【中文标题】使用 sql 中的键连接数据库中的多个表【英文标题】:connecting multiple tables in a database using keys in sql 【发布时间】:2016-11-03 01:03:04 【问题描述】:我有一个名为 student 的表格,其中包含 studentid、name、address、email,电话。 每个学生可能有多个电子邮件 ID 和多个电话号码。我也想记录所有的电子邮件和电话号码。因此,我通过删除 email-id 列和 phone 列来操作 student 表列并创建另一个表 studentemail与列 emailserialnumber ,email-id。还有一张 studentphone 表格,其中包含 phoneserialnumber 和 phone 列。学生表由 studentid、name、address 列组成。我是否应该在学生表中添加更多列以保持与其他表的关系。现在我有三张桌子。现在我如何使用键关联表格。我的意思是我应该在哪一列中设置主键和外键,以便连接三个表。
谢谢
【问题讨论】:
您需要向我们展示您尝试使用的查询。在此处阅读有关如何提问的更多信息:***.com/help/how-to-ask 您的studentemail
和 studentphone
表需要包含与 student
的 FK 关系 - 它们需要包含 studentid
的字段
我删除了不兼容的数据库标签。仅使用您真正使用的数据库标记问题。
如果你截图你的表格设计会更好。
所以在 studentemail 和 studentphone 表中,studentid 列应标记为外键,student 表中的studentid 列应标记为主键 right ?
【参考方案1】:
您的studentemail
和studentphone
表只需要另一列来引用student
表。在您的情况下,这将是 studentid
列。
然后,您可以将数据集中到一个查询中。我应该注意,您可能需要一个列来指定电子邮件和电话号码是什么 - 家庭、手机、工作等等。
【讨论】:
@DotNetbeginner 。 . .是的,您可以添加多个电话号码和多个电话。你似乎走在正确的轨道上。以上是关于使用 sql 中的键连接数据库中的多个表的主要内容,如果未能解决你的问题,请参考以下文章