编写一个查询,显示学生的名字、姓氏、课程号和课程名称
对于所有上课的学生-使用内部连接。标记输出列Student First,Student Last,
课程编号和课程名称。你应该有7排。
是我实验室的问题。
有三张桌子学生,课程,登记
我可以查到注册课程的学生的名字

select firstname,lastname from students
inner join on registration students.studentid=registration.studentid

但是,当我试图从课程表中获取老师想要的其他数据时,它不起作用,我尝试了一百万种方法,但对我来说有意义的是
select firstname,lastname,coursenumber,coursename from students,courses
inner join registration on students.studentid=registration.studentid

但它给了我一个错误未知栏studentid in on子句。

最佳答案

你非常接近,错过了registrationcourses之间的连接条件。你有一个奇怪的混合隐式和显式的INNER JOINs。你加入courses应该是另一个INNER JOIN通过registration连接到studentsAS

SELECT
  firstname, /* <-- don't forget to label your columns as required */
  lastname,
  coursenumber,
  coursename
FROM
  students
  /* `students` map into courses via many-to-many relation in `registration` */
  INNER JOIN registration on students.studentid = registration.studentid
  /* Inner join through `registration` into `courses` */
  INNER JOIN courses ON registration.courseid = courses.courseid

不要忘记列别名以满足列输出命名要求。在SELECT列表中使用关键字。我把作业的那部分留给你解决。
标记输出列Student First、Student Last、Course Number和Course Name

关于mysql - 使用INNER JOIN的SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13409689/

10-13 08:47