1. 组合查询
组合查询union
SQL> 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
SQL> 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);
对组合查询结果排序
SQL> 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语句之后。
分享到:
2018-09-19 19:17
浏览 228
分类:数据库
评论