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를 통해 조인을 시도했다.
참고한 블로그
[ORM] 📚 시퀄라이즈 - 다중 조인 방법
Sequelize 여러 JOIN 시퀄라이즈 ORM의 조인 방법을 정리해본다. 왠만하면 성능을 위해서 하나이상 조인을 하는 것은 피해야 되는 것이 맞지만, 연관된 데이터가 여럿 필요한 경우 어쩔수 없이 다중
inpa.tistory.com