1、基本使用
Union可将多条select语句组合成一个结果集,常见的使用场景有2种:
- 在单个查询中,从不同的表返回类似结构的数据;
- 对单个表执行多个查询,按单个查询返回数据。
例:检索出所有价格<=50的产品,同时检索出供应商id=1001所产的商品(不考虑价格)。
SELECT * FROM `products` WHERE prod_price<=50
UNION
SELECT * FROM products WHERE vend_id=1001;
2、Union其它注意事项
- 须由2条 或 2条以上的select语句组成;
- 组成的select种,查询字段、表达式、聚合函数必须相同。(次序不硬性要求)
3、union all用法
union默认取消重复的行,如果想要返回所有行数据,则使用union all,如下:
SELECT * FROM `products` WHERE prod_price<=50
UNION ALL
SELECT * FROM products WHERE vend_id=1001;