=
può essere utilizzato quando la sottoquery restituisce solo 1 valore.
Quando la sottoquery restituisce più di 1 valore, dovrai utilizzare IN
:
select *
from table
where id IN (multiple row query);
Ad esempio:
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