Mysql SQL多对多-非常简单

Mysql SQL多对多-非常简单,mysql,sql,many-to-many,Mysql,Sql,Many To Many,我有三张桌子 学生: id int(pk), 名称varchar(255) 纪律: id int(pk), 名称varchar(255) 学生纪律: 学生id int, 纪律检查 我知道这与多对多关系有关,需要多个连接,但我对sql非常陌生,所以我的问题是: 例如,我如何进行一个查询,只返回以“John”作为起始名、以“Math”作为学科的学生,而只返回学生id和学生姓名 欢迎任何帮助 方括号是什么意思?这是MySQL,不是SQL-Server。谢谢你,怎么只返回学生的id和姓名呢?别提愚蠢的问

我有三张桌子

学生: id int(pk), 名称varchar(255)

纪律: id int(pk), 名称varchar(255)

学生纪律: 学生id int, 纪律检查

我知道这与多对多关系有关,需要多个连接,但我对sql非常陌生,所以我的问题是:

例如,我如何进行一个查询,只返回以“John”作为起始名、以“Math”作为学科的学生,而只返回学生id和学生姓名


欢迎任何帮助

方括号是什么意思?这是MySQL,不是SQL-Server。谢谢你,怎么只返回学生的id和姓名呢?别提愚蠢的问题,从alunos中选择tp.id_aluno,tp.nome tpReturn id&name of student:选择tp.sID,来自学生的tp.Name tpt JOIN Student_规程tpt on tpt.sID=tp.sID tpt.dID=t.dID,其中tp.Name像'John%'和t.Name='Math'
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'