正确的3个表查询的SQL语句

时间:2014-03-13 20:54:25

标签: mysql sql

请放心,我在SE上搜索了很多类似于我的答案,但没有得到任何好结果,我在这里寻求帮助。

我有3张表如下:

Table Professors:
+---------+--------+
| idProf  |  name  |
+---------+--------+
|    1    | Ben    |
|    2    | John   |
|    3    | Bob    |
+---------+--------+

Table Classes:
+---------+--------+------------+
| idClass |  name  | profRefId  | 
+---------+--------+------------+
|    1    | French |    1       |
|    2    | English|    1       |
|    3    | German |    3       |
|    4    | Science|    2       |
+---------+--------+------------+

Table Lessons:
+----------+----------+--------------+
| idLesson |   name   |  classRefId  | 
+----------+----------+--------------+
|    1     | Lesson1  |      1       |
|    2     | Lesson2  |      1       |
|    3     | Lesson3  |      2       |
|    4     | Lesson4  |      4       |
|    5     | Lesson5  |      4       |
|    6     | Lesson6  |      3       |
+----------+----------+--------------+

现在,我正在努力实现的目标是:

我将idProf作为网址参数($_GET['idProf']

传递

我希望基于该参数的正确SQL语句列出该教授的所有类,并在每个类列出其课程。

在网页上看起来像这样的东西:

structure of the web page

1 个答案:

答案 0 :(得分:0)

这样的东西?

SELECT a.name ProfessorName, b.name ClassName, c.name LessonName
FROM Professors a
INNER JOIN Classes b
ON a.idProf=b.profRefID
INNER JOIN Lessons c
ON b.idClass=c.classRefID