1️⃣ 테이블 조인하는 법 복습하기
SELECT * FROM posts LEFT
JOIN users ON posts.user_id = user.id;
2️⃣ 카테고리를 붙여보자
먼저 FK 설정을 해준다

설정이 잘 됨

join도 잘 됨

3️⃣ 출력 시 별칭을 적용해보자
컬럼의 이름이 보이는 게 마음에 안들면 별칭을 따로 출력해줄 수 있다.
SELECT name AS category_name FROM category;
단, 별칭을 사용하면 * 를 사용하지 못하게 됨 ㅠㅠ
그러니 웬만하면 컬럼명을 바꿔주자
4️⃣ dbDiagram 업테이트

1️⃣ JOIN을 구현해보자
// 도서 개별 조회
const bookDetail = (req,res) => {
let {id} = req.params; // url을 가져올 때 prams가 json형태이기 때문에 비구조화가 될 수 있는 것
let sql = `SELECT * FROM books LEFT JOIN category
ON books.category_id = category.id WHERE books.id=?;`;
conn.query(sql, id,
(err, results) => {
if(err) {
console.log(err);
return res.status(StatusCodes.BAD_REQUEST).end(); // BAD REQUEST
}
if(results[0])
return res.status(StatusCodes.OK).json(results[0]); // results[0]을 보내면 배열형태가 아니게 됨
else
return res.status(StatusCodes.NOT_FOUND).end();
});
};
1️⃣ MySQL: 데이터 베이스 시간 범위 구하기
시간 더하기
DATE_ADD(기준 날짜, INTERVAL)
시간 빼기
DATE_SUB(기준 날짜, INTERVAL)
시간 범위를 설정해서 SELECT
SELECT * FROM books WHERE pub_date BETWEEN ??? AND ???;
SELECT * FROM books WHERE pub_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW(); // 최근 한달 이내 신간




1️⃣ 카테고리별 도서 목록 조회 수정
2️⃣ ****
3️⃣ ****
4️⃣ ****
1️⃣ ****
2️⃣ ****
3️⃣ ****
4️⃣ ****
1️⃣ ****
2️⃣ ****
3️⃣ ****
4️⃣ ****
1️⃣ ****
2️⃣ ****
3️⃣ ****
4️⃣ ****