![]() |
1
3
只需参加两次课程:一次是英语,一次是汉语。即:
甚至
这也将从课程中删除重复的(学生ID、课程名称)条目。 我假设(学生ID,课程名称)被索引来驱动这两个。您的命名有点奇怪:“课程”表没有描述课程,它描述了从学生到课程的关联。就我个人而言,我称之为“学生课程”(或类似的课程,可能是后缀“_map”或“_link”),并让它包含一个“课程ID”,引用一个带有ID和名称的课程表。 (我也更喜欢使用一致命名的主键,而不是在自己的表中称它们为“id”,但这只是一种挑剔,而且更主观) 只是为了好玩:
实际情况是,使用“intersect”比较基于相同表的两个结果集有点愚蠢。 |
![]() |
2
1
可以使用HAVING子句强制匹配:
要检索其他列,可以在此查询上联接:
|
![]() |
3
0
你可以用in运算符
|
![]() |
4
0
您可能希望进行自我加入:
把它放到学生桌上不难。 |
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 6 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 6 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 6 月前 |
![]() |
Sax · 规范化Google表格(第一步) 6 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |