加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关系数据库中关系表间的连接(左连接,右连接,内连接,全连接,外连接)

(2011-10-18 15:41:35)
标签:

关系

数据库

外连接

内连接

左连接

右连接

杂谈

分类: 编程开发

关系数据库中关系表间的连接主要有:内连接和外连接。

 

内连接:把两个表中数据对应的数据查询出来。

外连接:以某个表为基础把对应数据查询出来(全连接是以多个表为基础),其中又包括左连接和右连接两种。

 

比如,有下面两个关系表studentgrade

 

Student

 No  Name
 1  A
 2  B
 3  C
 4  D

Grade

 No  Grade
 1  90
 2  98
 3  95
 5  100

内连接inner join(在两个表中查询满足条件的对应数据)。

语法:SELECT * FROM student INNER JOIN grade ON student.no=grade.no
结果:

 student.no  student.name  grade.no  grade.grade
 1  A  1  90
 2  B  2  98
 3  C  3  95


左连接:包含左表中所有数据,右表中满足条件的对应数据。

语法:SELECT * FROM student LEFT JOIN grade ON student.no=grade.no

结果:

 student.no  student.name  grade.no  grade.grade
 1  A  1  90
 2  B  2  98
 3  C  3  95
 4  D  NULL  NULL

 

右连接:包含右表中所有数据,左表中满足条件的对应数据。

语法:SELECT * FROM student RIGHT JOIN grade ON student.no=grade.no

结果:

 student.no  student.name  grade.no  grade.grade
 1  A  1  90
 2  B  2  98
 3  C  3  95
 NULL  NULL  5  100

 

全连接:左右表中所有数据全部查询出来。

语法:SELECT * FROM student FULL JOIN grade ON student.no=grade.no

结果:

 student.no  student.name  grade.grade
 1  A  90
 2  B  98
 3  C  95
 4  D  NULL
 1  A  90
 2  B  98
 3  C  95
 5  NULL  100

 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:test
后一篇:倒排索引
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有