-1

您可以使用 IN 而不是 ANY 来获取子查询的结果吗?我的意思是这样的:

SELECT nazwisko FROM studenci WHERE rok_urodz > IN (SELECT rok_urodz FROM studenci WHERE miasto = "Warszawa");

4

1 回答 1

3

不,这不是正确的语法,比较运算符仅对 ANY、SOME 和 ALL 有效。

如果将 'IN' 替换为 'ALL',这也是可以的语法。要使用“IN”,您不能包含比较运算符。

SELECT nazwisko 
FROM studenci 
WHERE rok_urodz IN (SELECT rok_urodz FROM studenci WHERE miasto = 'Warszawa');

也是可接受的语法,但给出的结果不同于

SELECT nazwisko 
FROM studenci 
WHERE rok_urodz > ALL (SELECT rok_urodz FROM studenci WHERE miasto = 'Warszawa');

IN 等价于 = ANY

来源:http ://dev.mysql.com/doc/refman/5.0/en/any-in-some-subqueries.html

于 2012-05-08T18:47:39.087 回答