exists
(sql 返回结果集为真)
not exists (sql 不返回结果集为真)
如下:
表A
ID NAME
1 A1
2 A2
3 A3
表B
ID AID NAME
1 1 B1
2 2 B2
3 2 B3
表A和表B是1对多的关系 A.ID => B.AID
SELECT ID,NAME FROM A WHERE EXISTS ( SELECT * FROM B WHERE A.ID = B.AID)
执行结果为
1 A1
2 A2
NOT EXISTS 就是反过来
SELECT ID,NAME FROM A WHERE NOT EXISTS ( SELECT * FROM B WHERE A.ID = B.AID)
执行结果为
3 A3
not exists (sql 不返回结果集为真)
如下:
表A
ID NAME
1 A1
2 A2
3 A3
表B
ID AID NAME
1 1 B1
2 2 B2
3 2 B3
表A和表B是1对多的关系 A.ID => B.AID
SELECT ID,NAME FROM A WHERE EXISTS ( SELECT * FROM B WHERE A.ID = B.AID)
执行结果为
1 A1
2 A2
NOT EXISTS 就是反过来
SELECT ID,NAME FROM A WHERE NOT EXISTS ( SELECT * FROM B WHERE A.ID = B.AID)
执行结果为
3 A3