喵星之旅-狂奔的兔子-UNION All中ORDER By的使用

UNION All 关联的查询要求结果集数量和逐次的类型一致。但是如果使用ORDER By的话,必须是放在最后,并且逐次的列名一致,如果不一致需要重命名成一致的。如果排序不用列明而是由编号的话可以不一致。

1 使用列序号代替实际列名。如:

1
2
3
4
5
6
select supplier_id, supplier_name   
from suppliers
UNION
select company_id, company_name
from companies
ORDER BY 2;

2 为unoin的各个子查询使用相同的列名,如:

1
2
3
4
5
6
select supplier_id as id, supplier_name as name  
from suppliers
UNION
select company_id as id, company_name as name
from companies
ORDER BY name;
文章目录
|