1
2
|
2
3
试着分别与每张桌子连接:
|
3
2
试试这个
|
4
1
当连接表格时,你能做的最好的事情是:先把它写在纸上,然后使用数学集合代数。就像如果你有三个表:student,course,examatend,你可以这样写:(student and(course and examatend)),使用这个可以替换为inner join,writing:(student inner join(course inner join examatend))。 因为您必须设置不同的列,所以这将解析为:student.studentid=exmattend.studentid上的student inner join exmattend on course.courseid=exmattend.courseid SQL解析器将首先构建一个投影,当然是exmattend,然后是student的投影。 如果你想与所有学生一起进行投影,即使学生没有课程或其他课程的分数,你也可以在你的集合代数中写作: 学生或(课程和考试),其中或可以留在外部连接。 请注意,您选择了正确的表,在该表中您可以沿着一条路径找到要加入的表。有几种解决方案,选择错误的解决方案会导致查询速度变慢。 希望它有帮助。 |
Community wiki · SQL语法新手 1 年前 |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |