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子句都有自己的排序规则。

posted @ 2019-11-06 10:33  贾力  阅读(579)  评论(0编辑  收藏  举报