TIL

23/11/15 TIL __ 시퀄라이즈 테이블 조인하기 sequelize table join (2개 테이블)

GABOJOK 2023. 11. 15. 13:04

 

 

 

sql에서 사용하는 쿼리가 아닌,

시퀄라이즈를 이용해 사용하는 경우,

각 테이블을 어떻게 조인할 수 있는지에 대한 부분을 

오늘 다뤄보려고 한다.  

 

 

 

🔮  2개의 테이블 조인하기

       🚗 시퀄라이즈 조인은 기본 inner join 이라고 하니 참고하자.

 

 

 

아래의 형식으로 조인하면 된다.

const listData = await Products.findAll({
    include: [{
        model: 조인하려고 하는 테이블 명,
        attributes: ['방금 지정한 테이블에서 가져올 컬럼명', '컬럼명을 원하는만큼 가져오기'],
        where: {  //조건에 맞춰서 가져올 경우 사용.
            id: 3,  //id가 3인 경우만 가져오겠다는 말.
        }
    }],
    order: [['updatedAt', sort]],  // 정렬 순서 지정.
})

 

 

 

 

const listData = await Products.findAll({
  include: { model: UsersData },
  order: [['updatedAt', sort]],
})

 

나의 경우 상품 작성하기, 수정하기 등등  상품과 관련한 라우터들을 관리하는 과정에서 테이블 조인이 필요했다.

그래서 Products 데이터를 먼저 찾은 뒤에, include를 통해 조인을 시도했다.

 

 

 

 

 

 

 

 

 

참고한 블로그

https://inpa.tistory.com/entry/ORM-%F0%9F%93%9A-%EC%8B%9C%ED%80%84%EB%9D%BC%EC%9D%B4%EC%A6%88-%EB%8B%A4%EC%A4%91-%EC%A1%B0%EC%9D%B8-%EB%B0%A9%EB%B2%95

 

[ORM] 📚 시퀄라이즈 - 다중 조인 방법

Sequelize 여러 JOIN 시퀄라이즈 ORM의 조인 방법을 정리해본다. 왠만하면 성능을 위해서 하나이상 조인을 하는 것은 피해야 되는 것이 맞지만, 연관된 데이터가 여럿 필요한 경우 어쩔수 없이 다중

inpa.tistory.com