Podzapytanie jest uruchamiane dla każdego wiersza, ponieważ jest to zapytanie skorelowane. Skorelowane zapytanie można przekształcić w nieskorelowane zapytanie, wybierając wszystko z podzapytania, na przykład:
SELECT * FROM
(
SELECT relevant_field
FROM some_table
GROUP BY relevant_field
HAVING COUNT(*) > 1
) AS subquery
Ostateczne zapytanie wyglądałoby tak:
SELECT *
FROM some_table
WHERE relevant_field IN
(
SELECT * FROM
(
SELECT relevant_field
FROM some_table
GROUP BY relevant_field
HAVING COUNT(*) > 1
) AS subquery
)