关于 SQLite 的 EXISTS 与 NOT EXISTS
2019/02/04 12:34:46 来源:Linux社区 作者:-Jazz

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

显而易见 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) ');

相关子查询执行过程:先在外层查询中取“学生表”的第一行记录,用该记录的相关的属性值(在内层WHERE子句中给定的)处理内层查询,若外层的WHERE子句返回“TRUE”值,则这条记录放入结果表中。然后再取下一行记录;重复上述过程直到外层表的记录全部遍历一次为止。

嘿嘿嘿好理解多了吧!!!!!!!

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-02/156714.htm


7

本栏最新