union与join的区别

本文探讨了数据库垂直分表和水平分表后的查询策略。对于垂直分表,使用JOIN进行数据整合;而水平分表则依赖UNION操作。详细解释了UNION的基本用法,包括字段数量匹配、去除重复数据等特性。同时,介绍了JOIN的原理,强调了JOIN基于字段匹配组合数据的特点,以及如何处理字段不唯一的情况。理解并熟练运用UNION和JOIN,对于提升数据库查询效率至关重要。
摘要由CSDN通过智能技术生成

这里写目录标题

垂直分表之后,查询所有数据需要join操作。水平分表之后,查询所有数据都需union操作。

union

使用 union 可以将多个select语句的查询结果组合起来。语法为select 字段1,字段2 from table1 union select 字段1,字段2 from table2;

注意:

  1. union 关键字两边的select语句的字段数量是需要一致的,并不要求字段名称一致。
  2. 查询的最终结果集的字段是以第一个select语句的字段来命名。
  3. union自动屏蔽重复的数据,但是可以添加 all 来取消屏蔽。

join

使用 join 可以将多张表连接起来查询。语法为table1 join table2 on table1.字段名 = table2.字段名;

注意:

  1. join查询相当于将table1与table2两张表组合起来,形成一张新表,但是组合的前提是 table1.字段名=table2.字段名。join查询不会产生临时表,所以这张所谓的新表是不存在的,节省性能。
  2. 在处理字段时,如果出现字段不唯一,可以table.字段名来明确字段属于哪个表的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值