=
może być użyte, gdy podzapytanie zwraca tylko 1 wartość.
Gdy podzapytanie zwróci więcej niż 1 wartość, będziesz musiał użyć IN
:
select *
from table
where id IN (multiple row query);
Na przykład:
SELECT *
FROM Students
WHERE Marks = (SELECT MAX(Marks) FROM Students) --Subquery returns only 1 value
SELECT *
FROM Students
WHERE Marks IN
(SELECT Marks
FROM Students
ORDER BY Marks DESC
LIMIT 10) --Subquery returns 10 values