Union可将多条select语句组合成一个结果集,常见的使用场景有2种:
例:检索出所有价格<=50的产品,同时检索出供应商id=1001所产的商品(不考虑价格)。
SELECT * FROM `products` WHERE prod_price<=50
UNION
SELECT * FROM products WHERE vend_id=1001;
union默认取消重复的行,如果想要返回所有行数据,则使用union all,如下:
SELECT * FROM `products` WHERE prod_price<=50
UNION ALL
SELECT * FROM products WHERE vend_id=1001;