MySQL组合查询

1. 组合查询 组合查询union select vend_id, prod_id, prod_price from products where prod_price <= 5 union select vend_id, prod_id, prod_price from products where vend_id in (...
1. 组合查询
组合查询union
select vend_id, prod_id, prod_price from products where prod_price <= 5 union select vend_id, prod_id, prod_price from products where vend_id in (1001, 1002);

组合查询union all
select vend_id, prod_id, prod_price from products where prod_price <= 5 union all select vend_id, prod_id, prod_price from products where vend_id in (1001, 1002);

对组合查询结果排序
select vend_id, prod_id, prod_price from products where prod_price <= 5 union all select vend_id, prod_id, prod_price from products where vend_id in (1001, 1002) order by vend_id, prod_price;

1. 组合查询使用条件
    在单个查询中从不同的表返回类似结构的数据;
    对单个表执行多次查询,按单个查询返回数据;
2. union规则
    1) union必须由两条或者两条以上select语句组成,语句之间用关键字union分隔(因此,如果组合4个select语句,必须使用3个union关键字);
    2) union中的每个表达式必须包换相同的列、表达式、聚集函数(不过个个列不需要以相同的次序列出)
    3) 列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型(例如,不同的数值类型或不同的日期类型)
3. union自动去除重复的行
   union all不会自动去除重复的行
4. 在使用union组合查询时,只能使用一条order by子句,它必须出现在最后一条select语句之后。

原文出处:http://andrew7676.iteye.com/blog/2430967

  • 发表于 2018-09-19 19:42
  • 阅读 ( 323 )
  • 分类:网络文章

条评论

请先 登录 后评论
不写代码的码农
小编

篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除