sql 的并集UNION和内联结INNER JOIN 有什么区别?感觉结果是一样的。
我好像理解了内联结,但是并集UNLON有把我绕晕了。所以想知道他们有什么区别?(内联结、左右外联结、全联结,刚刚好像理解了)但是突然又跑出个(并集,交集,差集,不知道他们...
我好像理解了内联结,但是并集UNLON有把我绕晕了。所以想知道他们有什么区别?(内联结、左右外联结、全联结,刚刚好像理解了) 但是突然又跑出个 (并集,交集,差集,不知道他们有什么区别?)就想感觉内联结和并集的结果是一样的。 求高手随便指点指点,我很快就会明白的。QQQ
展开
8个回答
展开全部
join是针对列,union是针对行。
还有的区别就是inner join需要关联条件,也就是表和表之间需要有联系
union则不需要,可以之间把两个表select 的结果进行连接
还有的区别就是inner join需要关联条件,也就是表和表之间需要有联系
union则不需要,可以之间把两个表select 的结果进行连接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL的并集UNION只能查询两表字段类型(同为int 或者 字符串)相同时才能使用
如 Select id,name,age from tableA
Select id,name,age from tableB 可以并集得到两表查询的结果集
而INNER JOIN 是内连接,需要两表存在关联关系,并且查询出来的结果是两表所有字段的结果集,UNION不需要关联关系 只要查询的字段对应类型一致即可
如 Select id,name,age from tableA
Select id,name,age from tableB 可以并集得到两表查询的结果集
而INNER JOIN 是内连接,需要两表存在关联关系,并且查询出来的结果是两表所有字段的结果集,UNION不需要关联关系 只要查询的字段对应类型一致即可
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然不一样了 其中主要区别在于
UNION 多条查询结果合并一起 而且查询的结果字段还必须相同 尤其是一个查询语句无法满足查询结果的情况
INNER JOIN 是联合多表 可同时查询多个表字段 和多个表条件
简单举个例子
假如表 TABLE 有字段 ID NAME
UNION 可以的查询
SELECT * FROM TABLE WHERE ID = 2
UNION
SELECT * FROM TABLE WHERE ID <>2 AND NAME = 'A'
合并这样的查询
UNION 多条查询结果合并一起 而且查询的结果字段还必须相同 尤其是一个查询语句无法满足查询结果的情况
INNER JOIN 是联合多表 可同时查询多个表字段 和多个表条件
简单举个例子
假如表 TABLE 有字段 ID NAME
UNION 可以的查询
SELECT * FROM TABLE WHERE ID = 2
UNION
SELECT * FROM TABLE WHERE ID <>2 AND NAME = 'A'
合并这样的查询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
区别大了,join是列的联接,union是行的联接。
追问
如果他们联结的对象是主键和外键
JOIN是列的联结。大概的意思是将外键按照主键相加,会把子表里面的其他字段也给带过去。结果会包含除了主键和外键以外的其他的所有字段。
UNION是行的联结,结果是不包含其他的字段。只有该字段的记录。是把两个字段的记录相加成一个字段。
是不是大概这个意思啊。。。
追答
join基本正确。union你理解错了吧,举个例子,where age = 20结果有2条,where age = 30有3条,那么union起来共5条。union通常针对同样表(很多时候就只有一个表)结构的多次select,如果字段不一样就没法union了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询