gpt4 book ai didi

mysql - 没有外键的连接表

转载 作者:行者123 更新时间:2023-11-29 13:46:48 25 4
gpt4 key购买 nike

是否可以在没有外键的情况下连接表?例如

tbl学生栏目:

  1. ID
  2. 名字
  3. 姓氏
  4. 中间名

tbl等级社区:

  1. ID
  2. 测验
  3. 项目
  4. 考试

最终成绩表栏目:

  1. 名字

  2. 姓氏

  3. 期末成绩

    搜索id可以查看期末成绩吗?

最佳答案

tblStudent 中的 id 没有意义,因为您没有在其他表中引用它。更改您的表结构以包含此 StudentId,而不是 First NameLast Name

例如:

tblGrade

列:

  • 成绩 ID
  • 学生ID
  • 测验
  • 项目
  • 考试

tbl最终成绩

  • 最终成绩 ID
  • 学生ID
  • 期末成绩

然后你可以这样做:

SELECT ID, FirstName, LAstName, Quiz, Project, Exam, FinalGrade
FROM tblStudent
INNER JOIN tblGrade ON tblGrade.StudentId = tblStudent.StudentId
INNER JOIN tblFinalGrade ON tblFinalGrade.StudentId = tblStudent.StudentId

这将是一个比加入 FirstNameLast Name 更好的结构,以防万一您有 5 个 John Smith 您如何认识自己返回正确的成绩吗?

尽管我稍微反对您的原始设计,但您可以通过运行以下查询来对现有结构执行相同的查询:

SELECT ID, FirstName, LAstName, Quiz, Project, Exam, FinalGrade
FROM tblStudent
INNER JOIN tblFinalGrade ON tblFinalGrade.FirstName = tblStudent.FirstName AND tblFinalGrade.LastName = tblStudent.LastName
WHERE tblStudent.ID = 1

关于mysql - 没有外键的连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com