如何将 SQL 查询转换为 MongoDB

Posted

技术标签:

【中文标题】如何将 SQL 查询转换为 MongoDB【英文标题】:How to convert SQL query to MongoDB 【发布时间】:2021-02-09 19:40:30 【问题描述】:
SELECT s_name FROM supplier 
WHERE s_suppkey = ALL
(SELECT s_suppkey FROM supplier
WHERE s_nationkey > 50 AND s_acctbal= 9658.99 )

我不知道这部分怎么做

WHERE s_suppkey = ALL
    (SELECT s_suppkey FROM supplier
    WHERE s_nationkey > 50 AND s_acctbal= 9658.99 )

【问题讨论】:

不应该是=ANY吗? 否,因为使用 ANY 不会返回任何内容。 ALL 它返回所有供应商密钥。 为什么不简单地SELECT s_name FROM supplier WHERE s_nationkey > 50 AND s_acctbal= 9658.99 因为它什么也不返回。 【参考方案1】:
db.supplier.find( ,  $and : [    s_nationkey :  '$gt' : 50  ,  s_acctbal : 9658.99  ]  ,s_suppkey:1 )

但不返回供应商名称!

【讨论】:

【参考方案2】:

你的 SQL 看起来有点奇怪。对于 Mongo,试试这个:

db.supplier.find( s_nationkey:  '$gt': 50 , s_acctbal: 9658.99 , s_name :1 )

【讨论】:

以上是关于如何将 SQL 查询转换为 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

如何将此查询转换为 Hive SQL?

如何将 SQL 查询转换为 sequelize?

如何将 MS SQL 查询转换为 MySQL 查询

如何将此类 sql 查询转换为 mongodb 查询

如何将sql查询转换为linq查询

如何将此 SQL 查询转换为 SQLAlchemy