码迷,mamicode.com
首页 > 数据库 > 详细

数据库中的连接关系

时间:2016-01-28 20:52:35      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:

 

 

今天上午有人问到我一个关于数据库的知识点:“你知道左连接与右连接的区别吗?”

 

当时,别人问我的时候,我脑袋里很清楚这个问题,就连在大学期间课本上有关这部分的知识也记得非常清楚,不过要用语言描述还真是一时不知道怎么表述,也许是程序媛平时只知道怎么去写,不知道怎么说的缘故吧。所以,当时我也就没有用语言去直接回答这个问题,只是说这个问题我清楚是怎么回事。

 

后来,上网查了一下这个知识点,发现其实用语言表述也许要比举例说明更来得快吧。可当时,还是没有正面回答别人。

下面就将我学习到的这个知识点记录下来,以便进一步掌握。

表A:
aid    adate 
1      a1 
2      a2 
3      a3 

表B:

bid   bdate

1     b1

2     b2

4     b4

 

左连接:首先列出A表中的所有数据,然后再加上与A、B匹配的数据

1 a1 b1
2 a2 b2
3 a3 空字符

右连接:首先取出B表中的所有数据,然后再加上与A、B匹配的数据
1 a1 b1
2 a2 b2
4 空字符 b4

 

注意:左右连接跟两个表A、B相连接,取出id相同的字段数据是不一样的。
select * from A,B where A.aid=B.bid这是仅仅取出匹配的数据:
此时取出的结果是:
1 a1 b1
2 a2 b2

这里顺便说一下union、union all
union:是连接两个表的数据并排除所有重复的数据
union all:不排除重复的数据

 

 

如果有写得不恰当的地方,还希望各位大神多指点,小女子会虚心学习的!

数据库中的连接关系

标签:

原文地址:http://www.cnblogs.com/gaoxh/p/5167282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!