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를 통해 조인을 시도했다.
참고한 블로그
'TIL' 카테고리의 다른 글
23/11/17 TIL __ 시퀄라이즈 마이그레이션 수정 sequelize migration (0) | 2023.11.17 |
---|---|
23/11/16 TIL __ 3진법 뒤집기 (프로그래머스) feat. ^ xor연산자 (0) | 2023.11.16 |
23/11/14 TIL __ 미들웨어로 로그인 인증하기 (access token) (0) | 2023.11.14 |
23/11/13 TIL __ 시퀄라이저 관계 설정. (0) | 2023.11.13 |
23/11/12 TIL __ [SequelizeConnectionError]: Too many connections 에러 aws rds 에러 (0) | 2023.11.12 |