SQLにおけるクエリのネスト
私のクエリの目的は、ネストされたクエリを利用して、Aで始まる名前を持つ国の首長と、その国の首都の人口が10万人以上である場合に、その国の名前と首長を返すことです。
以下は私のクエリです。
SELECT country.name as country,
(SELECT country.headofstate
from country
where country.headofstate like 'A%')
from country, city
where city.population > 100000;
逆にしてみたり、Where句に置いてみたりしました。ネストされたクエリを取得できません。私は、"subquery returns more than one row"などのエラーが返ってくるだけなんです。もし誰かが、どのように順序付けるか、そしてなぜそれが特定の方法でなければならないかを説明して、私を助けてくれるなら、それは素晴らしいことです。
13
4
もし、入れ子にする必要があるなら、これは一つの方法でしょう。
JOIN` は相関サブクエリよりも効率的でしょうけど。そのタスクをあなたに与えた人は、スピードについていけないのでしょうか?
2つのテーブルを「結合」して、その結果を「where」句でフィルタリングする必要があります。
私が考えるに、ネストされたクエリの場所は WHERE 句だけで、例えば、次のようになります。
それとは別に、私はAdrianと同意見です:なぜネストされたクエリを使用する必要があるのでしょうか?
以下のクエリは、必要なものを達成するのに役立ちます。