。
【资料图】
Union关键字可用于给出多个select语句,并将它们的结果组合成一个结果集。合并时,两个表对应的列和数据类型必须相同。Select语句由union或union all关键字分隔。Union在没有关键字all的情况下执行时删除重复的记录,所有返回的行都是唯一的;使用关键字all的目的不是删除重复的行或自动对结果进行排序。基本语法格式是:选择列.从表1 union [all]选择列,来自表2(免费学习推荐:mysql视频教程)
【例1】查询所有价格低于9的水果信息。查询所有s_id等于101和103的水果的信息。使用联合连接来查询结果。该SQL语句如下:
mysql选择s_id、f_name、f_price -来自水果-其中f_price 9.0
联合所有
-选择s_id、f_name、f_price -来自水果-其中s_id在(101,103);----| s _ id | f _ name | f _ price |----| 104 |柠檬| 6.40 || 101 |苹果| 5.20 || 103 |杏| 2.20 || 104 |浆果| 7.60 || 107 | xxxx | 3.60 || 105 |甜瓜| 8.20 || 101 |樱桃| 3.20 | | 105 | xbabay | 2.60 | | 102 |葡萄| 5.30 | | 107 | xbabay 103 |杏子| 2.20 || 101 |黑莓| 10.20 || 101 |樱桃| 3.20 || 103 |椰子| 9.20 |-set(0.06秒)中的15行union将多个select语句的结果组合成一个结果集。 您可以分别查看每个select语句的结果:
mysql选择s_id、f_name、f_price -来自水果-其中f _ price 9.0----| s _ id | f _ name | f _ price |----| 104 |柠檬| 6.40 || 101 |苹果| 5.20 || 103 |杏| 2.20 || 104 |浆果| 7.60 || 107 | xxxx | 3.60 || 105 |甜瓜| 8.20 || 101 |樱桃| 3.20 | | 105 | xbabay | 2.60 | | 102 |葡萄| 5.30 | | 107 | xbabay----| s _ id | f _ name | f _ price |----| 101 |苹果| 5.20 || 103 |杏| 2.20 || 101 |黑莓| 10.20 ||| 101 |樱桃| 3.20 || 103 |椰子| 9.20 |————————————————————————————————————————————————————————————————————————————————
使用union分隔两个select语句。执行后,将输出结果组合成一个结果集并删除重复记录。使用union all包含重复的行。Union自动从查询结果集中删除重复的行。如果希望返回所有匹配的行而不删除它们,可以使用union all。【例2】查询所有价格低于9的水果信息。查询所有s_id等于101和103的水果的信息。使用union all连接查询结果。该SQL语句如下:
mysql选择s_id、f_name、f_price -来自水果-其中f_price9.0
联合所有
-选择s_id、f_name、f_price -来自水果-其中s_id在(101,103)中;----| s _ id | f _ name | f _ price |----| 104 |柠檬| 6.40 || 101 |苹果| 5.20 || 103 |杏| 2.20 || 104 |浆果| 7.60 || 107 | xxxx | 3.60 || 105 |甜瓜| 8.20 || 101 |樱桃| 3.20 | | 105 | xbabay | 2.60 | | 102 |葡萄| 5.30 | | 107 | xbabay 103 |杏| 2.20 || 101 |黑莓| 10.20 || 101 |樱桃| 3.20 || 103 |椰子| 9.20 |———————————————————————————————————————
联合和联合所有的区别:
使用union all的功能不是删除重复的行。所有关键字语句的执行都需要较少的资源,所以尽可能地使用它。当确定查询结果中不会出现重复数据或者不需要删除重复数据时,应尽可能使用Uninon all来提高查询效率。更多免费学习推荐:mysql教程(视频)
以上是MySQL查询数据合并后的查询结果明细!
来源:php中文网站
关键词: