在我的桌子上查询时遇到同样的错误:
如果我在子查询之前放置任何或所有关键字,它会运行但不是预期结果?
select countrycode,language
from countrylanguage
where countrycode =
(select countrycode from country where region like '%Asia%');
答案 0 :(得分:1)
由于子选择可能会返回多行,请执行IN
而不是=
:
select countrycode, language
from countrylanguage
where countrycode IN (select countrycode from country where region like '%Asia%');
或者,或许更好,改为JOIN
。
select countrycode, language
from countrylanguage cl
join country c ON cl.countrycode = c.countrycode
where c.region like '%Asia%'