exists用法
exists:
如果括号内子查询语句返回结果不为空,说明where条件成立,就会执行主SQL语句
如果括号内子查询语句返回结果为空,说明where条件不成立,就不会执行主SQL语句...not exists:
如果括号内子查询语句结果为空,说明表示条件成立,就会执行主语句
如果括号内子查询语句结果不为空,说明表示条件不成立,就不会执行主语句
使用示例
exists:
SELECT...ID,NAME FROM A WHERE
EXISTS(SELECT * FROM B WHERE A.ID = B.AID)
SQL语句分解:
SELECT ID,NAME FROM A WHERE...FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=2)
--->SELECT * FROM B WHERE B.AID=2有值返回TRUE所以有数据...SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=3)
--->SELECT * FROM B WHERE B.AID=