思维锻炼

 数据库关系:

需要查询的数据内容:

查询至少学过学号为“1”同学所有课程的其他同学学号和姓名;

思路:学生表和成绩表连接起来,查询出学号、姓名,条件是:成绩表中课程编号和学号为一的同学的课程相同的(这样就可以查出有哪些同学学过学号为一的同学的学号),而在条件中可以查出学号为一的同学的课程数为2门,所以课程数等于2的同学就是学过学号为一的同学的全部课程

 

一开始的思路是:查询出学号为一的同学的课程编号,再根据课程编号查出所有的同学(也就是说查出课程编号的x的所有同学和课程编号为y的所有同学),答案就是他们两个的交集,图示如下:

 

 

 

 

 

多点做这种数据库的疑难杂症有助于思维逻辑的发开。在你不知道怎么去做的时候千万不要马上想着去问别人或者是上网查资料,一定要自己先想,就好像上面的两个思路一样,如果按第二个思路走下去的话,代码多,还有那个交集也不知道怎么表示。往往很多时候,把自己的思路换个方向,事件就变得清晰很多了

猜你喜欢

转载自blog.csdn.net/weixin_44588370/article/details/90613153