【发布时间】:2013-02-26 20:51:50
【问题描述】:
我的数据库在使用 SQL 查询获取结果时遇到了一点问题。 我有 5 个表,我想通过特定的连接来获取有关它的所有信息。 有我的桌子:
课程
- id (int)
- 课程名称(varchar)
- id_class (int)
- id_section (int)
教师
- id (int)
- 名称(varchar)
lesson_teacher
- id (int)
- id_lesson (int)
- id_teacher (int)
类
- id (int)
- 类(varchar)
部分
- id (int)
- 部分(varchar)
事实上,我的课可以有不止一个老师,所以我在他们两个之间做了一个 1-n 关系表。
只有一节课和一节课,所以我不必与新表建立链接。
我想我的做法很好。当我在数据库中选择信息时,一切正常,除非我想使用“WHERE”子句来指定一个或多个参数。
这是我的查询:
SELECT teachers.name, lessons.lesson_name, classes.classe, sections.section FROM lesson_teacher
JOIN teachers ON lesson_teacher.id_teacher = teachers.id
JOIN lesson ON lesson_teacher.id_lesson = lessons.id
LEFT OUTER JOIN sections ON lesson.id_section = sections.id
LEFT OUTER JOIN classes ON lesson.id_classe = classes.id
我有 4 列包含所有数据,我的课程显示良好,一切正常。
为什么,当我使用“WHERE”子句时,我的 return 中没有行? 例如:
WHERE classes.classe = 'BMMP33'
【问题讨论】:
标签: mysql join where-clause