Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19002040
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 数据库开发技术

2008-05-28 08:41:13

内连接:把两个表中数据对应的数据查出来
外连接:以某个表为基础把对应数据查出来(全连接是以多个表为基础)

student表
no name 
1   a   
2   b
3   c
4   d 

grade表
no grade
1    90
2    98
3    95

内连接 inner join(查找条件中对应的数据,no4没有数据不列出来)
语法:select * from student inner join grade on student.no = grade.no
结果
student.no name grade.no 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 name grade.no grade
1                  a         1                90
2                  b         2                98
3                  c         3                95
4                  d

右连接(右表中所有数据,左表中对应数据)
语法:select * from student right join grade on student.no = grade.no 
结果:
student.no name grade.no grade
1                  a          1               90
2                  b          2               98
3                  c          3                95

全连接
语法:select * from student full join grade on student.no = grade.no
结果:
no name grade
1   a          90
2   b         98
3   c         95
4   d 
1   a         90
2   b         98
3   c         95

注:access 中不能直接使用full join ,需要使用union all 将左连接和右连接合并后才可以

阅读(816) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~