如果你要做外连接,大家注意外连接的符号,如果是叫什么,这里印的不是很清楚,我给大家写大一点,就是普通连接,自然连接是这样,如果保留左边,就在左边出出来一点;如果保留右边,就右边出出来一点;如果保留两边,就两边都出出去,开个门一样,就这样。
大家看这里也是,如果是保留左外连接,注意了,左边的悬浮是谁?因为左边选了第一列和第三列,第一行和第三行,中间这行就是它的悬浮,相当于要把a1、b2、c2加进去,大家看是不是a1、b2、c2加进去了,然后低这一列,因为它是左边没有右边,右边就是低这一列,所以为负为空。
对于右边这个圆组而言,选的是第一列和第二行,所以对于它来讲第三行是悬浮圆组,它的右外连接就应该是把下面这个b1、b2、c2加到里面去,就是b1、b2、c2,对于它来讲a没有,所以它把a的位置复为空。
如果是完全y连接,其实就是把左右的都合并一下,大家先看左边,再看右边,然后把多的这两个全部加进来,就是完全y连接,没什么难的,这里主要是你要见过认识它。
y连接而言有一些例子,还是学生课程和选课,比如哒哒哒哒哒哒这些东西,像刚才那个s零八王明数学,这两个就复位不空,刚才我说过。
我只带着大家做一个下面的案例,就不一个一个分析了,太费时间了。假设还是这三个表,其实上面已经见过了很多次了,其实考试也就是考这三个表,一定是考你特别熟的,但是会考你一些基本需求,不会非要给你考三个别的关系的表,没意义,都是一样的。
比如这三个表要查询选修了课程编号为c零二,这是第一个条件,课程编选修了课程编号为c零二,成绩要大于九十的所有学生的姓名,本来要个姓名只在学生关系里有就可以了,但是它的条件又要选c零二课程,就要有c课程编号,要有选课的东西,第二要有成绩,这就是得把这个东西都得保留下来或者得聚在一起才能考虑,对不对?
一个最简便的方法就是先把三个课程全部弄在一起,把三个关系通过外连接或者连接,然后再在对象上面进行一些条件。至于这两个先弄哪个倒是无所谓,答案不唯一。比如先管课程,可以先把课程和成绩做一次自然连接选课,大家想象一下结果就想象就好了。显然做自然连接以后就会通过课程编号相同的属性把连接运算的选出。
其次在此基础上就拥有了课程编号、课程名、先修课程包括学号、成绩这么多列,在此基础上做完自然连接以后就有这些东西了。在这个基础上想进行一些选择就可以先选了,比如先把成绩大于九十弄掉,成绩大于九十其实上是选符合条件的原则,所以这是一个选择操作。
然后就是成绩大于九十,实际上通过这个就已经在这一大表里关系里面选出了成绩大于九十的原组,在此基础上可以认为这个东西就是新的关系,因为这不是选出了这部分的木还有这部分满足条件的原组吗?在整体最爱跟学生关系做自然连接,就会通过换一个颜色就通过学号关系进行自然连接。
选出来的内容再对它进行条件叫做课程编号为c零二。当然了有的同学其实不知道有没有想到,如果爱动脑筋一点其实课程编号c零二是不是不用做自然连接之前也可以做?在连接完选课和课程表以后成绩和。
版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。