sql 的并集UNION和内联结INNER JOIN 有什么区别?感觉结果是一样的。

我好像理解了内联结,但是并集UNLON有把我绕晕了。所以想知道他们有什么区别?(内联结、左右外联结、全联结,刚刚好像理解了)但是突然又跑出个(并集,交集,差集,不知道他们... 我好像理解了内联结,但是并集UNLON有把我绕晕了。所以想知道他们有什么区别?(内联结、左右外联结、全联结,刚刚好像理解了) 但是突然又跑出个 (并集,交集,差集,不知道他们有什么区别?)就想感觉内联结和并集的结果是一样的。 求高手随便指点指点,我很快就会明白的。QQQ 展开
 我来答
仙戈雅3n
2016-08-02 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:898万
展开全部
union与inner join不存在区别的,主要体现如下:
1)union:是无条件合并两个结果集的,前提是列的数据类型相兼容,体现在行数增加了;
2)inner join:是需要给出关联字段条件且相等才连接两个结果集,体现在列数增加了。
DEMO_14
2016-06-24 · 超过26用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:24.1万
展开全部
join是针对列,union是针对行。

还有的区别就是inner join需要关联条件,也就是表和表之间需要有联系
union则不需要,可以之间把两个表select 的结果进行连接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
腾飞yyds
推荐于2018-03-23 · TA获得超过451个赞
知道小有建树答主
回答量:587
采纳率:50%
帮助的人:260万
展开全部
SQL的并集UNION只能查询两表字段类型(同为int 或者 字符串)相同时才能使用
如 Select id,name,age from tableA
Select id,name,age from tableB 可以并集得到两表查询的结果集
INNER JOIN 是内连接,需要两表存在关联关系,并且查询出来的结果是两表所有字段的结果集,UNION不需要关联关系 只要查询的字段对应类型一致即可
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zgh840925
2016-08-19 · TA获得超过283个赞
知道小有建树答主
回答量:410
采纳率:0%
帮助的人:354万
展开全部
当然不一样了 其中主要区别在于
UNION 多条查询结果合并一起 而且查询的结果字段还必须相同 尤其是一个查询语句无法满足查询结果的情况
INNER JOIN 是联合多表 可同时查询多个表字段 和多个表条件
简单举个例子
假如表 TABLE 有字段 ID NAME
UNION 可以的查询
SELECT * FROM TABLE WHERE ID = 2
UNION
SELECT * FROM TABLE WHERE ID <>2 AND NAME = 'A'
合并这样的查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2016-06-07 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7820万
展开全部
区别大了,join是列的联接,union是行的联接。
追问
如果他们联结的对象是主键和外键
JOIN是列的联结。大概的意思是将外键按照主键相加,会把子表里面的其他字段也给带过去。结果会包含除了主键和外键以外的其他的所有字段。
UNION是行的联结,结果是不包含其他的字段。只有该字段的记录。是把两个字段的记录相加成一个字段。
是不是大概这个意思啊。。。
追答
join基本正确。union你理解错了吧,举个例子,where age = 20结果有2条,where age = 30有3条,那么union起来共5条。union通常针对同样表(很多时候就只有一个表)结构的多次select,如果字段不一样就没法union了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式