このクエリをINNER JOINのない同等のものに変換しようとしています。INNER JOINのない同じクエリですか?
select c.name, c.area, ai.sum_area
from
country as c
inner join (
select sum(i.area) as sum_area, gi.country
from
island i
inner join
geo_island gi on (i.name = gi.island)
group by gi.country
) as ai on (c.code = ai.country)
where (c.area * 0.99) <= ai.sum_area;
私が行う方法を学習したいのですが、私はこの文で unconfortable本当に感じるが、多くの場合、私はクエリを記述するために見つける唯一の方法です。
編集: 私は-1を置くのではなく、誰かが何が問題なのか教えていただきたいと思います。
なぜあなたはINNER JOINを削除しようとしていますか?あなたがここで解決しようとしている問題は何ですか? –
私はここでクエリに問題はありません。 正しいです。 私は、INNER JOINを使わずに同じことを書く別の方法を探してみたいです。 – user3004162
あなたが結合を削除すると、それは同じことではありません - それは本当に明確ではありませんなぜ*なぜあなたは結合を排除したいですか? 2つの質問でタグ付けしているので、使用しているデータベースを知ることも便利です。 –