>  기사  >  데이터 베이스  >  Node.js에서 Sequelize를 사용하여 다양한 유형의 조인을 어떻게 수행할 수 있나요?

Node.js에서 Sequelize를 사용하여 다양한 유형의 조인을 어떻게 수행할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-11-18 01:55:02924검색

How can I perform different types of joins using Sequelize in Node.js?

Node.js에서 Sequelize를 사용하여 쿼리 결합

Sequelize는 데이터베이스를 단순화하는 Node.js용 ORM(객체 관계형 매핑) 라이브러리입니다. 상호 작용. JavaScript 개체에서 데이터베이스 모델을 정의하고 익숙한 구문을 사용하여 쿼리를 수행할 수 있습니다.

조인 쿼리

조인 쿼리는 다음을 기반으로 여러 테이블의 데이터를 결합하는 데 사용됩니다. 공통기준. Sequelize에서는 findAll 또는 findOne 메소드 내에서 include 속성을 사용하여 조인 쿼리를 수행할 수 있습니다.

Inner Join

Inner Join을 수행하려면 다음에서 필수 속성을 설정하세요. 포함 옵션을 true로 설정합니다. 이렇게 하면 조인된 테이블에서 일치하는 값이 있는 레코드만 반환됩니다.

Posts.findAll({
  include: [{
    model: User,
    required: true
   }]
});

왼쪽 외부 조인

왼쪽 외부 조인을 수행하려면 필수 항목을 설정하세요. 포함 옵션의 속성을 false로 설정하거나 기본값이 false이므로 생략하세요. 이렇게 하면 조인된 테이블에 일치하는 값이 없더라도 기본 테이블의 모든 레코드가 반환됩니다.

Posts.findAll({
  include: [{
    model: User,
    required: false
   }]
});

조인 쿼리의 Where 절

다음을 수행할 수 있습니다. 또한 조인된 테이블에서 레코드를 필터링하려면 포함 옵션 내에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.