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 중국어 웹사이트의 기타 관련 기사를 참조하세요!