Nó không đáng phàn nàn vì truy vấn con trả về 2 kết quả nhưng hai cột. Nhưng ngay cả khi nó chỉ trả về một cột duy nhất, nó sẽ trả về 2 kết quả và truy vấn chính sẽ làm như vậy.
Không cần truy vấn con trong mọi trường hợp:
SELECT s.shopname
FROM Shopstable s
JOIN OrdersTable o ON s.shopnum=o.shopnum
GROUP BY s.shopname
ORDER BY count(*) DESC
LIMIT 1