在Node.js 上使用Sequelize 加入查詢
Sequelize 是Node.js 的物件關聯映射(ORM) 庫,可簡化資料庫互動。它允許您在 JavaScript 物件中定義資料庫模型,並使用熟悉的語法執行查詢。
連接查詢
連接查詢用於基於多個表組合資料共同標準。在 Sequelize 中,您可以使用 findAll 或 findOne 方法中的 include 屬性執行聯結查詢。
Inner Join
要執行內部聯接,請在中設定所需的屬性include 選項設為 true。這將確保僅傳回連接表中具有符合值的記錄。
Posts.findAll({ include: [{ model: User, required: true }] });
左外連接
要執行左外連接,請設定所需的include 選項中的屬性為false 或將其省略,因為它默認為false。這將傳回主表中的所有記錄,即使連接表中沒有符合的值。
Posts.findAll({ include: [{ model: User, required: false }] });
連接查詢中的Where 子句
您可以也可以在 include 選項中指定 where 子句來過濾連接表中的記錄。例如,要找出所有使用者出生年份為1984 年的所有貼文:
Posts.findAll({ include: [{ model: User, where: { year_birth: 1984 } }] });
巢狀Where 子句
您甚至可以使用巢狀where 子句來過濾多個連接表內的條件。例如,要尋找所有使用者名為「Sunshine」且出生年份為1984 年的所有貼文:
Posts.findAll({ where: { name: "Sunshine" }, include: [{ model: User, where: { year_birth: 1984 } }] });
進階加入查詢
更多進階加入查詢,包括一對多、多對多或自連接,請參閱Sequelize 文件: http://docs.sequelizejs.com/en/latest/docs/models-usage/#eager-loading
以上是如何在 Node.js 中使用 Sequelize 執行不同類型的聯結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!