본문 바로가기

공부/타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)

프로젝트: Node.js 기반의 REST API 구현(8)-likes.js-COUNT(*), 서브쿼리, SELECT EXISTS();

✨ver1의 설계로 DB, Node.js 코드 구현해보기

일단 JWT로 받아오는 user_id를 body로 받아와서 구동이 되게 코드를 구현했다.
💢JWT를 받아와 header Authoriztion의 user_id의 payload값을 읽어올 수 있게 고도화하기❗❗

 

✨도서의 좋아요 COUNT(*)로 좋아요 갯수 계산하기

SELECT COUNT(*) as liked FROM likes WHERE liked_book_id=${book_id};

 


서브쿼리(sub qeury): 쿼리 안에 쿼리

SELECT *,
(SELECT COUNT(*) as liked FROM likes WHERE liked_book_id=books.id) AS likes
FROM books;

books에 있는 모든 컬럼과, likes로 AS한 컬럼을 새로 likes에서 SELECT해서 넣어주면

books에 likes 컬럼명을 추가하지 않아도 확인이 가능하다.

 

✨내가 좋아요 눌렀는지 확인하기

SELECT COUNT(*) FROM likes WHERE user_id=${user_id} AND liked_book_id=${book_id};

COUNT(*)를 사용하는 방법과

SELECT EXISTS(SELECT COUNT(*) FROM likes WHERE user_id=${user_id} AND liked_book_id=${book_id});

SELECT EXIST를 사용하는 방법이 있다.