게시물에 대한 추천 또는 좋아요를 표현하는 기능은 주로 사용자의 액션을 'likes'나 'favorites' 같은 테이블에 저장함으로써 구현됩니다. 사용자가 게시물을 추천하거나 좋아요를 클릭하면, 해당 정보를 데이터베이스에 기록하는 INSERT 명령어를 사용하고, 좋아요를 취소하는 경우에는 DELETE 명령어를 사용하여 기록을 삭제합니다. 다음은 게시물 추천 또는 좋아요를 저장하는 다양한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 좋아요 추가
INSERT INTO likes (user_id, post_id) VALUES (1, 1);
특정 사용자가 특정 게시물을 좋아요합니다.
2. 날짜와 함께 좋아요 기록
INSERT INTO likes (user_id, post_id, created_at) VALUES (1, 1, NOW());
좋아요 시간을 포함하여 기록합니다.
3. 좋아요 취소
DELETE FROM likes WHERE user_id=1 AND post_id=1;
특정 사용자의 특정 게시물에 대한 좋아요를 취소합니다.
4. 사용자의 모든 좋아요 조회
SELECT * FROM likes WHERE user_id=1;
특정 사용자가 한 모든 좋아요를 조회합니다.
5. 게시물의 좋아요 수 계산
SELECT COUNT(*) FROM likes WHERE post_id=1;
특정 게시물의 총 좋아요 수를 계산합니다.
6. 여러 게시물에 대한 좋아요 추가
INSERT INTO likes (user_id, post_id) VALUES (1, 2), (1, 3);
한 사용자가 여러 게시물에 대해 좋아요를 추가합니다.
7. 특정 기간 내 좋아요 조회
SELECT * FROM likes WHERE created_at BETWEEN '2023-01-01' AND '2023-12-31';
특정 기간 동안에 이루어진 모든 좋아요를 조회합니다.
8. 게시물 좋아요 정보 업데이트
UPDATE posts SET likes_count = (SELECT COUNT(*) FROM likes WHERE post_id = 1) WHERE post_id = 1;
특정 게시물의 좋아요 수를 업데이트합니다.
9. 사용자의 최근 좋아요 조회
SELECT * FROM likes WHERE user_id=1 ORDER BY created_at DESC LIMIT 1;
특정 사용자가 가장 최근에 좋아요한 게시물을 조회합니다.
10. 특정 사용자와 게시물에 대한 좋아요 여부 확인
SELECT EXISTS(SELECT 1 FROM likes WHERE user_id=1 AND post_id=1);
특정 사용자가 특정 게시물에 대해 좋아요를 했는지 여부를 확인합니다.
관련 전문용어 설명
INSERT INTO: 새로운 데이터를 테이블에 추가하는 명령어입니다.
DELETE FROM: 데이터를 삭제하는 데 사용되는 SQL 명령어입니다.
VALUES: 추가할 데이터의 값을 지정합니다.
SELECT: 데이터를 조회하는 데 사용되는 SQL 명령어입니다.
COUNT(): 조건에 맞는 행의 수를 반환하는 함수입니다.
NOW(): 현재의 날짜와 시간을 반환하는 함수입니다.
BETWEEN: 지정된 두 값 사이의 범위에 있는 데이터를 선택합니다.
EXISTS: 쿼리가 최소 한 개 이상의 행을 반환하는지 여부를 확인합니다.
'SQL' 카테고리의 다른 글
사용자 권한 관리: 사용자에게 권한을 부여하거나 회수하는 쿼리. (0) | 2023.12.29 |
---|---|
검색 결과 필터링: 사용자가 웹페이지에서 검색 결과를 필터링하는 데 사용되는 쿼리. (0) | 2023.12.29 |
댓글 삭제: 데이터베이스에서 댓글을 삭제하는 쿼리. (0) | 2023.12.29 |
댓글 작성: 게시물에 댓글을 작성하는 쿼리. (0) | 2023.12.29 |
게시물 삭제: 데이터베이스에서 게시물을 삭제하는 쿼리. (0) | 2023.12.29 |