SQL多对多 - 非常简单

时间:2016-01-15 23:36:46

标签: mysql sql many-to-many

我有三张桌子

学生: id int(pk), name varchar(255)

纪律: id int(pk), name varchar(255)

student_discipline: student_id int, discipline_id int

我知道这与多对多关系有关,并且需要多个连接,但我对sql很新,所以我的问题是:

我如何进行查询,只返回“John”作为起始名称且以“Math”为学科,但仅限学生ID和学生姓名的学生?

任何帮助都是有意义的!

1 个答案:

答案 0 :(得分:2)

SELECT * FROM Student tp
JOIN Student_Discipline tpt on tpt.sID = tp.sID
JOIN Discipline t on tpt.dID = t.dID
WHERE tp.Name like 'John%' and t.Name = 'Math'