当前位置: 首页 > 知识库问答 >
问题:

从NOT EXISTS转换为NOT IN

亢正德
2023-03-14

我有三张桌子:

  • sailor(姓名,等级);
  • (名称、颜色、等级);
  • 预订(sname,bname,工作日,开始,完成);
select s.sname from sailor s 
where not exists(  
    select * from boat b  
    where b.color = 'red'  
    and not exists (  
        select * from reservation r  
        where r.bname = b.bname  
        and r.sname = s.sname));
select s.sname from sailor s
where s.sname not in (select s2.sname from sailor s2 where
    s2.sname not in (select r.sname from reservation r where r.bname not in (
            select b.bname from boat b where b.color <> 'red' )));

共有1个答案

淳于知
2023-03-14

这很有趣;在将not EXISTS(...)替换为(...)时,可以维护语法结构(相关子查询):

SELECT s.sname from sailor s
WHERE 13 NOT IN (
    SELECT 13 FROM boat b
    WHERE b.color = 'red'
    AND 42 NOT IN (
        SELECT 42 from reservation r
        WHERE r.bname = b.bname
        AND r.sname = s.sname
       )
    );
 类似资料:
  • 我有一个接口和枚举,如下所示: 现在,为了调用,我创建了一个包含所有元素的枚举集,因此执行以下操作:

  • 我如何将此代码从juqery转换为vuejs? 此处的Javascript测试:https://codepen.io/tidiosupport/pen/wnepeao

  • 到目前为止,我在这里找到了一些答案,但每次都会出现无法从对象转换为字符串的错误,等等。例如,我现在使用了这个想法: 我有以下与我的数据库映射的对象列表:

  • 然后输入LDA: 但是在Java API中,我使用以下代码获得了CountVectorizerModel: 像这样: 我使用的是Spark和MLlib 1.5.1以及Java8 任何帮助都是非常感谢的。谢谢,当我试图从DataFrame转换为JavaPairRDD时,这里是异常日志文件

  • 问题内容: 我想知道是否有任何方法可以将Integer类型的变量转换为BigInteger。我尝试类型转换Integer变量,但出现一个错误消息,指出不可转换的类型。 问题答案: 您想要的方法是BigInteger#valueOf(long val) 。 例如, 首先创建String是不必要的,也是不希望的。

  • 问题内容: 我正在使用Jongo与Mongo一起工作,当我执行查询时会收到结果。 问题是,如果json是content ,它将不是from的唯一方法。 我如何获得原件? 我没有要映射的地图,也不是创建类的解决方案,这就是为什么我使用 问题答案: 如果您可以访问某些JSON库,那似乎就是这样。 如果使用org.json库,请使用: 如果是Gson,请使用@hellboy提到的方法:

  • 问题内容: 我当前的数据 是 我已经尝试了所有四个查询,但都没有工作。(参考) 全部抛出语法错误,如下所示: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’)AS INT FROM PRODUCT LIMIT 0,30’附近使用正确的语法 您的SQL语法有误;在第1行的“ INTEGER)FROM PRODUCT LIMIT 0,30”附近检查与您的MySQL服务器

  • 问题内容: 我正在尝试从从mysql数据库获取数据的php文件对div进行简单的ajax更新。一个函数填充div,另一个函数将消息添加到数据库,并在单击提交按钮时调用。我想知道是否有人可以在jQuery中给我他们的同等学历。以下是原型版本。 问题答案: 在jQuery的阿贾克斯()调用,所有这一切。它具有较少参数的包装器,例如.get()、. post()和.load(),您可以使用这些包装器来减