exists用法
exists:
如果括号内子查询语句返回结果不为空,说明where条件成立,就会执行主SQL语句
如果括号内子查询语句返回结果为空,说明where条件不成立,就不会执行主SQL语句...name from A WHERE id in (select aid from B)
总结
SQL中in, 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