mysql - mysql中3个表的内连接

标签 mysql database inner-join

我想使用内连接从更多表中选择数据。

这些是我的 table 。

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

关于mysql - mysql中3个表的内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16013364/

相关文章:

mysql - 外键在同一张表中,无法得到正确的查询

javascript - 了解 MongoDB 文档上次更改时间的最佳方法是什么?

android - 我怎样才能等到 onsuccess 监听器在 Kotlin 中有结果

python - Django:将博客条目查看次数加一。这有效率吗?

mysql - 如何通过 mysql 中的连接提高性能排序

php - MySQL关系查询

sql - 是否可以 INNER JOIN 2 不同类型/值的 id?

PHP 查询数据库内的 Session_ID

php - 如果我已经有数据库了,用什么PHP cart可以轻松实现呢?

mysql - 全短语优先搜索