exists用法
exists:
如果括号内子查询语句返回结果不为空,说明where条件成立,就会执行主SQL语句
如果括号内子查询语句返回结果为空,说明where条件不成立,就不会执行主SQL语句...not exists:
如果括号内子查询语句结果为空,说明表示条件成立,就会执行主语句
如果括号内子查询语句结果不为空,说明表示条件不成立,就不会执行主语句
使用示例
exists:
SELECT..., not in, exists, not exists的区别:
in:
确定给定的值是否与子查询或者列表中的值匹配
in关键字选择与列表中任意一个值匹配的行
in关键字之后的项目必须用逗号隔开,并且括在括号中...not in:
通过not in关键字引入的子查询也返回一列零值或更多值
exists:
指定一个子查询,检测行的存在
相当于两个集合的交集
exists后面可以是整句的查询语句 ,in后面只能是单列查询语句...not exists:
相当于两个集合的差集
exists和not exists返回的结果类型是Boolean:
如果子查询包含行:
exists返回TRUE
not exists返回FALSE