MySQL进阶 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

in/exists/from查询

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

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

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

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

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

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