如何使用带有 Sequelize 的 EXISTS 子句进行查询?

Posted

技术标签:

【中文标题】如何使用带有 Sequelize 的 EXISTS 子句进行查询?【英文标题】:How to query with EXISTS Clause with Sequelize? 【发布时间】:2020-04-14 04:50:15 【问题描述】:

我们如何在 sequelize 中使用 EXISTS 子句,以便它以下列方式触发查询? IF EXISTS(SELECT FIRSTNAME FROM EMPLOYEES WHERE FIRSTNAME LIKE 'JOHN%') 这可以通过在.query() 方法中插入相同的查询来完成,但是有什么方法可以在findOne() 方法中使用EXISTS 子句?。

【问题讨论】:

【参考方案1】:

你可以像下面这样构造一个sequelize literal -

where: 
      [op.and]: [Sequelize.literal('exists ( SELECT FIRSTNAME FROM `EMPLOYEES` WHERE `EMPLOYEES`.`FIRSTNAME` LIKE 'JOHN%' )')]
    ,

希望对你有帮助!

【讨论】:

以上是关于如何使用带有 Sequelize 的 EXISTS 子句进行查询?的主要内容,如果未能解决你的问题,请参考以下文章

运行应用程序时出现 Sequelize index already exists 错误

带有 sequelize 和 nest.js 的多租户

不创建带有 Sequelize 的外键

如何使用 sequelize 基于 sqlite3 中的“日期”列进行查询?

sequelize-typescript - 当使用带有 `tsc` 编译器(带有 NestJS)的 glob 配置时,无法解析模型模块

sequelize/sequelize-typescript - 带有 HasMany 的 findAll 返回一个对象而不是数组