MySQL:利用UNION进行组合查询
组合查询也就是说MySQL也可以一次性执行多条select语句并把结果作为单查询结果集返回,内容比较简单,给几个例子就可以理解了~
例1:查询价格小于等于5的所有商品以及供应商1001和1002的所有商品(虽然这个例子使用OR更简单,但是涉及多个表查询的复杂情况还是有必要考虑UNION的)
SELECT vend_id,prod_id,prod_name FROM products WHERE prod_price<=5
UNION
SELECT vend_id,prod_id,prod_name FROM products WHERE vend_id IN(1001,1002)
结果会自动去重,如果不想去重可以使用UNION ALL。
注意:使用UNION组合查询时只能有一条order by子句跟在最后一个select子句后对所有结果集排序,不能每个select子句都有自己的排序规则。