mysql 3张表 join_mysql中使用3个表进行内连接inner join

我想从内部联接的更多表中选择数据。

这些是我的表。

Student (studentId, firstName, lastname)

Exam (examId, name, date)

Grade (gradeId, fk_studentId, fk_examId, grade)

我想写一份声明,说明学生去过的考试,成绩和日期。按日期排序。

这是我的发言。它运行,但我想确保我正确地做到了。

SELECT

student.firstname,

student.lastname,

exam.name,

exam.date,

grade.grade

FROM grade

INNER JOIN student

ON student.studentId = grade.gradeId

INNER JOIN exam

ON exam.examId = grade.gradeId

ORDER BY exam.date

正确的陈述应该是:

SELECT

student.firstname,

student.lastname,

exam.name,

exam.date,

grade.grade

FROM grade

INNER JOIN student

ON student.studentId = grade.fk_studentId

INNER JOIN exam

ON exam.examId = grade.fk_examId

ORDER BY exam.date

根据定义的外键关系,将表引用到其他表。如果希望数据显示为查询,则应正确引用ID。因此,您应该将id引用到表中的正确外键,而不是仅仅引用未定义正确关系的id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值