如何从父表中获取ID并从子表中获取JOIN以运行查询。

时间:2018-03-05 18:27:49

标签: php mysql

我有两张桌子,一张是学生,另一张是学校。我正在使用FK将学校ID(scid)称为学生表。

学生

+------+---------+-----+-----------+
| stid | student | age | school_id |
+------+---------+-----+-----------+
|  1   | John    |  26 |         2 |
|  2   | Susan   |  24 |         1 |
+------+---------+-----+-----------+

学校

+------+------------+-----------+
| scid | schoolname | syllabus  |
+------+------------+-----------+
|  1   | school1    | syllabus1 |
|  2   | school2    | syllabus2 |
+------+------------+-----------+

视图页面显示我使用id从学生表中获取详细信息并使用联接从学校表中获取信息的所有详细信息。

Student name: John
Age: 26
School: School 2

我需要为学生使用id并使用联接从学校获取名称。我怎么做。我想出了这个,但我如何使用id。

SELECT schools.name
FROM schools
    LEFT JOIN students
        ON students.school_id=schools.scid;

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式完成此操作:

select student, age, schoolname 
 from students stdu inner join schools sch 
on(stdu.school_id=sch.scid ) 
 where stdu.stid = 1
  

MySQL INNER JOIN子句将一个表中的行与其他表中的行匹配,并允许您查询包含两个表中列的行。   https://dev.mysql.com/doc/refman/5.7/en/join.html