高中时,有个朋友说:“普通学校和重点学校的不同在于:普通学校的老师一般只会教授一个一个知识点;而重点学校的老师是经常给同学编制知识网!效果可想而知。”可惜,由于各种原因,我就读于普通中学,毕业于普通大学!看来我这一生的的知识网也只能自己来编织了。
早就想把sq中这些可爱的表连接语句来个总结了,现在就开始吧!
连接应该有6种:左连接,右连接,内连接,全连接,完全连接和自连接。分述如下:
背景描述:有三张表,学生表,课程表,选课表
1.左连接:两个集合,左边部分全部保留。
保留学生信息.如:我想查看所有学生的选课情况,有些同学(王明和张立)休学了,但我想同时列出他们的情况。可用left join或left outer join
2.右连接:两个集合,右边部分全部保留。
假如我只关心选课表的情况,只有选课表(sc)中有学生的学号,我才显示。可用right (outer) join。
3.内连接或者叫等值连接:左右两个集合的交集。是不是在内部(inner)呀,所以叫 inner join
如果我只想选择学生表(student)和选课表(sc)中具有相同学号的部分,当然用(inner)join 了。
4.全连接:集合的并集
把两个表中的数据都显示出来出来,用全连接 full join 或者 full outer join
5.自身连接
如:查询每一门课的 间接选修课
6.交叉连接(完全连接)cross join 不带 where 条件的