そのSQLは下記のようなもの。
select *
from (select id, name from table1
union
select id, name from table2
) t1
order by 1;
なんでわざわざunionした結果をselectしてorder byするんだろう?と思って、「union order by」でぐぐってみて「Unionの結果全体をOrder By したい。」で同じようなsqlを発見!SQL Serverは知らないのでこうしか書けないのかもしれないけど、自分が見たのはMySQL。MySQLでもこの変なsqlでもちろん動くけど、MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.7.2 UNION 構文を見れば下記のように書くことがわかる。(select id, name from table1)
union
(select id, name from table2)
order by id;
↓を注意する必要はあるだろうが、エイリアスを使えば良いだけなので特に難しいことはない。ORDER BY はテーブル名を含むカラム参照を利用する事ができません。(それは、tbl_name.col_name フォーマット内の名前です。)なんでもかんでもググるんじゃなくて、マニュアル読めカスと言いたい。