SQLite 的 EXISTS 与 NOT EXISTS

这篇博客探讨了SQLite数据库中EXISTS和NOT EXISTS子查询的使用,特别是在相关子查询中的应用。文章通过举例说明如何利用这两个操作符来查询表Person,条件是判断表Person_Visison中是否存在相应ID。当表Person_Visison中有匹配的ID时,使用NOT EXISTS返回结果集,反之则不返回。
摘要由CSDN通过智能技术生成

话不多说先来看看表结构:

显而易见 Pid 存放的 Person 的 id ;下面重点(奇葩需求!!!!)

 

我需要向表一(Person)里插入几条数据(...)这时候不会对表二做任何操作。

需求:查询表一(Person)条件是表二(Person_Visison)里有没有表一(Person)的 id 如果有则不返回 结果集,没有则返回。

上代码:                       (注:这是我封好的js主要看SQL语句)

1 select('SELECT * FROM Person WHERE NOT EXISTS(SELECT * FROM Person_Visison  WHERE Person_Visison.Pid=Person.id) ');
  • 不相关子查询:子查询的查询条件不依赖于父查询的称为不相关子查询。
  • 相关子查询:子查询的查询条件依赖于外层父查询的某个属性值的称为相关子查询,带EXISTS 的子查询就是相关子查询。
  • EXISTS表示存在量词:带有EXISTS的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值