删除...在sqlite中的左连接查询[重复]

Posted

技术标签:

【中文标题】删除...在sqlite中的左连接查询[重复]【英文标题】:Delete... Left Join query in sqlite [duplicate] 【发布时间】:2016-11-19 07:42:53 【问题描述】:

我正在使用 Xamarin Forms 开发 iosandroid 应用程序。我有以下代码:

db2.Execute("DELETE w FROM Word AS w" +
            " LEFT JOIN WordSource AS ws ON ws.WordId = w.WordId" +
            " WHERE ws.WordId IS NULL");

但我在 w 附近不断收到语法错误。有人可以让我知道我做错了什么吗? sqlite 不支持DELETE... JOIN... 查询吗?如果是这样,我怎样才能在sqlite中完成这段代码?

【问题讨论】:

【参考方案1】:

一个简单的方法是基于一个in子句和左连接的子选择

db2.Execute( "DELETE  FROM Word WHERE id in (  
                SELECT id FROM Word as W  
                LEFT JOIN WordSource AS ws ON ws.WordId = w.WordId 
                WHERE ws.WordId IS NULL
              )");

【讨论】:

以上是关于删除...在sqlite中的左连接查询[重复]的主要内容,如果未能解决你的问题,请参考以下文章

LINQ查询中的左外连接[重复]

选择中的左连接与子查询的奇怪问题

mysql中的左连接和右连接有啥区别[重复]

限制在 MySQL 问题的左连接中返回的行

Linq中的lambda /方法语法中的左外连接[重复]

FF4中的左连接linq查询