0

データベース (特に MySQL) を学習しようとしていますが、購入した教科書の問題を解いています (ソリューション マニュアルは提供されていません)。質問のパート A を実装しましたが、パート B をどのように行うか混乱しています。パート B では、UNION を使用する以外はパート A と同じ結果を得る必要があります。誰かが説明できるかどうか疑問に思っていましたか?

前もって感謝します

私の意見ではパートAの答え:

SELECT Country, COUNT(City) from country LEFT OUTER JOIN city 
ON city.CountryId = country.CountryId group by Country;

パート B: パート A のクエリを UNION として記述しますか?

4

2 に答える 2

0

これを試して

select country from country group by country
 union
select count(city) from city group by city

「ユニオン」を使用している間、別の列に結果が得られません。同じ列に結果が得られます

于 2012-11-21T10:40:03.297 に答える
0
select c1.countrynm,count(c2.citynm) 
from country c1 
join city c2
on c2.countryid=c1.countryid
group by c1.countrynm
union select countrynm,0 from country where 7=3;

mysql> select c1.countrynm,count(c2.citynm)
-> from country c1
-> join city c2
-> on c2.countryid=c1.countryid
-> group by c1.countrynm
-> union select countrynm,0 from country where 7=3;
+-----------+------------------+
| countrynm | count(c2.citynm) |
+-----------+------------------+
| France    |                2 |
| Germany   |                1 |
+-----------+------------------+
于 2012-11-21T10:56:33.137 に答える