誤解かもしれませんが、各国最大の都市を返したいだけですか?
その場合は、国や都市ではなく、国ごとにグループ化できます。国を識別する属性とその国の名前をGROUP BY
ステートメントに含める必要があります。クエリは次のようになります。
SELECT lab6.country.name AS cName, max(lab6.city.population) AS largest_pop
FROM lab6.country, lab6.city
WHERE lab6.country.country_code = lab6.city.country_code
GROUP BY lab6.country.country_code, lab6.country.name
最大の都市の名前も含めたい場合は、最初に複数の大都市 (人口が同じ最大の都市が 2 つ以上ある国) がある場合の対処方法を決定する必要があります。それらすべてを含めても問題ないと思います。その場合、FROM 句で単純にサブクエリを実行し、同じ人口を持つ都市を結合することができます。
SELECT lc.cName, lab6.city.name, lc.largest_pop
FROM (
SELECT lab6.country.country_code AS cCode
lab6.country.name AS cName,
max(lab6.city.population) AS largest_pop
FROM lab6.country, lab6.city
WHERE lab6.country.country_code = lab6.city.country_code
GROUP BY lab6.country.country_code, lab6.country.name
) AS lc
JOIN lab6.city ON lc.cCode = lab6.city.country_code
WHERE lab6.city.population = lc.largest_pop