内部联接不起作用。输出重复行

时间:2017-10-26 03:25:25

标签: mysql sql inner-join

我正在努力获得学生编号和编号。名称与课程代码和&等级低于40的学生的姓名。这就是我的

              SELECT S.name, S.no, C.code, C.name, T.grade
              FROM student S INNER JOIN course C INNER JOIN take T
              WHERE grade <40;

它输出的等级低于40但它返回128行,显示每个人的姓名和数字等级重复它们。

对不起,如果这是错的,但我是初学者。

2 个答案:

答案 0 :(得分:0)

Simple syntax refer it 



 SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID); 

答案 1 :(得分:0)

您需要将表格相互关联的条件:

SELECT S.name, S.no, C.code, C.name, T.grade
FROM student AS s
JOIN take AS t ON t.student_no = s.no
JOIN course AS c ON t.course_code = c.code

student_nocourse_code替换为take表中的实际外键列。