SQL 连接 汇总!

来源:互联网 发布:c语言写入txt文件函数 编辑:程序博客网 时间:2024/05/17 22:04

       高中时,有个朋友说:“普通学校和重点学校的不同在于:普通学校的老师一般只会教授一个一个知识点;而重点学校的老师是经常给同学编制知识网!效果可想而知。”可惜,由于各种原因,我就读于普通中学,毕业于普通大学!看来我这一生的的知识网也只能自己来编织了。

      早就想把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 条件的

 

 

 

原创粉丝点击