Skip to content

[1주차/미키] 워크북 제출합니다#14

Merged
migi0401 merged 4 commits intoUMC-Inha:micky/mainfrom
migi0401:main
Mar 22, 2026
Merged

[1주차/미키] 워크북 제출합니다#14
migi0401 merged 4 commits intoUMC-Inha:micky/mainfrom
migi0401:main

Conversation

@migi0401
Copy link

✅ 워크북 체크리스트

  • 모든 핵심 키워드 정리를 마쳤나요?
  • 핵심 키워드에 대해 완벽히 이해하셨나요?
  • 이론 학습 이후 직접 실습을 해보는 시간을 가졌나요?
  • 미션을 수행하셨나요?
  • 미션을 기록하셨나요?

✅ 컨벤션 체크리스트

  • 디렉토리 구조 컨벤션을 잘 지켰나요?
  • pr 제목을 컨벤션에 맞게 작성하였나요?
  • pr에 해당되는 이슈를 연결하였나요?(중요)
  • 적절한 라벨을 설정하였나요?
  • 파트장에게 code review를 요청하기 위해 reviewer를 등록하였나요?
  • 닉네임/main 브랜치의 최신 상태를 반영하고 있는지 확인했나요?(매우 중요!)

📌 주안점

미션에 해당하는 쿼리문을 작성할 때 AS 를 통해 별칭을 사용했습니다.
SELECT 부분에는 사용하고 FROM이나 JOIN에는 사용하지 않았는데 이 부분이 확실하지 않아서 궁금합니다.
이 부분 때문에 가독성이 조금 떨어진 거 같아 자세히 봐주시면 감사하겠습니다.

@migi0401 migi0401 requested a review from YoungJJun March 18, 2026 13:19
@migi0401 migi0401 self-assigned this Mar 18, 2026
@migi0401 migi0401 linked an issue Mar 18, 2026 that may be closed by this pull request

필요한 데이터 분류:
- 평점, 내용, 생성일자를 사용자가 남긴 리뷰 DB에 넣어준다.
- INSERT VALUSE INTO REVIEW(score, text, user_id, store_id, created_at, updated_at)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ERD 테이블 이름과 동일하게 REVEIW -> review로 변경하면 좋을 것 같아요!


- 필요한 데이터 분류:
사용자 테이블에서 이름, 메일, 번호, 포인트 가 필요하다.
- SELECT NAME, ADDRESS, BIRTH, USER_POINT

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위와 동일하게 모두 소문자로 변경하면 좋을 것 같아요!

- SELECT NAME, ADDRESS, BIRTH, USER_POINT
FROM USER
WHERE id = 1
설명: 내가 설계했던 DB에는 메일과 번호 데이터가 없어서 주소와 생년월일을 조회하기로 했다.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지금은 괜찮지만 나중에 메일이랑 번호 컬럼 추가해주면 좋을 것 같아요!

- 사용자 미션 테이블과 미션 테이블을 조인해서 사용
- 수행상태
- 쿼리문:
SELECT m.mission_point AS reward_point,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 AS가 테이블 이름을 짧게 줄이는 기능만 있는줄 알았는데 별칭 기능도 있었군요!

m.content AS mission_content,
um.id AS cursor_id
FROM user_mission um
JOIN mission m ON m.id = um.mission_id

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제가 알기로는 SELECT, FROM, JOIN 모든 곳에서 AS 사용해도 되는 것으로 알고 있어서 mission AS m이 맞을 것 같아요!

JOIN mission m ON m.id = um.mission_id
JOIN store s ON s.id = m.store_id
WHERE user_id = 1
AND um.status = “success”

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SQL문에서는 '로만 적는걸로 알고있는데 한 번 확인해주세요!!

WHERE user_id = 1
AND um.status = “success”
AND um.deleted_at = IS NULL
AND um.id < 25

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cursor paging 방법까지 쓰신게 인상깊어요!


- 하단: SELECT s.name AS store_name,
s.category AS store_category,
DATEDIFF(m.mission_time, CURRENT_DATE()) AS d_day,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

created_at()을 front에 넘기는게 아니라 직접 시간 넘겨주는게 멋있어요!

Copy link
Collaborator

@YoungJJun YoungJJun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1번 오타랑 문법오류만 수정해주세요~
INSERT INTO ~ () VALUES ()

2번 메일과 번호 데이터가 없어서 주소와 생년월일을 조회한다고 하셨는데 이 경우 ERD를 수정해서 해당 데이터를 추가해 주셔야 합니다! ERD에 해당 데이터 추가 후 쿼리만 다시 작성해주세요.

3번 스터디때 말씀드린 것처럼 IS NULL은 um.deleted_at IS NULL 이런식으로 수정해주세요. 4번에도 동일한 문제가 몇개 있는것 같아요!

4번

  • DATEDIFF 사용해주신거 좋습니다!
  • 지역 필터링이 빠진 것 같아요. 관점에 따라 다를 수 있으나 제가 볼 때 해당 미션들은 위쪽에 지역에 따라 바뀌어야 할 것 같아요.
  • 아마 um.status = 'unactive'를 작성하신 이유는 해당 사용자가 아직 시작하지 않은 미션을 조회하려는 것으로 보입니다. ERD 피드백때 전달드린 내용으로 미션과 사용자를 항상 연결하면 사용자가 시작하지 않아도 해당 미션과 사용자를 unactive 상태로 연결해 데이터를 추가해야 합니다. 이 경우 작성해주신 방법대로 unactive를 조회하는게 맞습니다.
  • 만약 사용자가 도전을 하지 않으면 데이터를 생성조차 하지않고 사용자가 도전하는 타이밍에만 user mission 테이블에 추가하는 방향으로 ERD 설계를 바꾸신다면 해당 지역 미션들을 모두 조회하고 NOT IN 조건을 통해 해당 사용자가 이미 완료했거나 포기한 미션들을 제외할 수 있어요.

1주차도 수고하셨습니다! 위 피드백 한 번 확인후 수정할 부분 수정하시고 피어리뷰 첨부 후 머지해주세요. 다음주도 화이팅입니다 미키~

@migi0401 migi0401 merged commit c85cb13 into UMC-Inha:micky/main Mar 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Chapter01_DB와 친해지기 - SQL문

3 participants