EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。
EXISTS 指定一个子查询,检测行的存在。
语法:EXISTS subquery。参数 subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。
结果类型为 Boolean,如果子查询包含行,则返回 TRUE。
EXISTS 指定一个子查询,检测行的存在。
语法:EXISTS subquery。参数 subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。
结果类型为 Boolean,如果子查询包含行,则返回 TRUE。
在子查询中使用 NULL 仍然返回结果集
举例:
select * from partner_menu o
where exists(select 1
from partner_menu_role mr where mr.menuid = o.menuid and exists(select 1
from partner_user_role ur where ur.roleid = mr.roleid and ur.userid = "123"))
and o.status='1' and length(o.menuid)=3 order by o.sortno asc;