语法: EXISTS subquery
参数: subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。
结果类型: Boolean 如果子查询包含行,则返回 TRUE ,否则返回 FLASE 。
NOT EXISTS 的作用与 EXISTS 正好相反
执行效率
EXISTS与IN使用效率的问题,通常情况下采用exists要比in效率高,因为IN不走索引,但要看实际情况具体使用:
IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。
执行顺序
Exists首先执行外层查询,再执行内层查询,与IN相反。 流程为首先取出外
层中的第一 元组, 再执行内层查询,将外层表的第一元组代入,若内层查询为真,即有结果时,返回外层表中的第一元组,接着取出第二元组,执行相同的算法。一直到扫描完外层整表 。