MySQL进阶 互动版

in/exists/from查询

只有子查询返回的结果列包含一个值时,比较运算符才适用。加入一个子查询返回的结果集是值的列表, 这时比较运算符就必须用in运算符代替。

in运算符可以检测结果集中是否存在某个特定的值,如果检测成功就执行外部的查询。

exists运算符可以用来查询一个子查询是否产生了结果,这使得可以只在exists检测返回真时才执行外部的查询

还可以在一个select语句的from子句中把子查询产生的结果作为一个表。

因而,内查询产生的结果表用在外查询的from子句中。这样的表在sql中成为到导出表。

请注意,当以这种方式使用子查询的结果时,内查询产生的结果表必须首先另取一个表名,否则MySQL不知道如何参照其中的列。