電子書籍の厳選無料作品が豊富!

異なるテーブルから一括でデータを取得したいと思っています。
現在思いつくのはunionによる結合なのですが、いささかぶさいくではないか?と思ってます。

select a,b,c
from x1,y,z
where A
union
select a,b,c
from x2,y,z
where A
・・・

上記のように、x1,x2が一定の数字でいくつも対象となります。
fromにはワイルドカードが使えないので、どのようにしたものかと悩んでおります。
※selectで取得するカラム名は全テーブル同一で、検索条件も同一です。

unionがあるべき姿なのでしょうか?

A 回答 (1件)

不細工の判断基準は、よくわからないんですが・・



select a,b,c
from (select * from x1 union select * from x2) x,y,z
where A
と書いたほうが、性能的に良いかと思いますよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

不細工と言うのはselectやwhereで同じものを何度も繰り返しているのがぶさいく?と表現させていただきました。

回答いただいた表現で今回のケースはまとまりました。

お礼日時:2010/03/24 22:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!