サブクエリは2つの結果を返すが、2つの列を返すため、文句はありません。ただし、1つの列しか返さなかった場合でも、2つの結果が返され、メインのクエリでも同じことが行われます。
いずれの場合もサブクエリは必要ありません:
SELECT s.shopname
FROM Shopstable s
JOIN OrdersTable o ON s.shopnum=o.shopnum
GROUP BY s.shopname
ORDER BY count(*) DESC
LIMIT 1
サブクエリは2つの結果を返すが、2つの列を返すため、文句はありません。ただし、1つの列しか返さなかった場合でも、2つの結果が返され、メインのクエリでも同じことが行われます。
いずれの場合もサブクエリは必要ありません:
SELECT s.shopname
FROM Shopstable s
JOIN OrdersTable o ON s.shopnum=o.shopnum
GROUP BY s.shopname
ORDER BY count(*) DESC
LIMIT 1