[내일배움캠프] SQL/Python 코드카타, 아티클 스터디

sleekstar·2025년 6월 5일

SQL 코드카타

문제 1.

조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

PROCESS

첨부파일 경로 조회(CONCAT('/home/grep/src/',B.BOARD_ID,'/',F.FILE_ID,F.FILE_NAME,F.FILE_EXT) AS FILE_PATH)
조건: 조회수가 가장 높음

처음 작성한 코드(오답)

SELECT
    CONCAT('/home/grep/src/',B.BOARD_ID,'/',F.FILE_ID,F.FILE_NAME,F.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD B
JOIN USED_GOODS_FILE F
    ON B.BOARD_ID = F.BOARD_ID
HAVING MAX(B.VIEWS)

WHY?

왜 틀렸을까? => 결괏값이 1개만 나왔는데, 예시 답은 2개
조회수가 가장 높은 게시물에 파일이 2개 있었기 때문.
그럼 단순히 HAVING만으로는 무리가 있어 보임

HOW?

어떻게 해결할까?
WHERE절 자체에는 MAX와 같은 조건을 넣을 수 없음
그렇다면 서브쿼리를 이용하자.

수정 코드(정답)

SELECT
    CONCAT('/home/grep/src/',B.BOARD_ID,'/',F.FILE_ID,F.FILE_NAME,F.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD B
JOIN USED_GOODS_FILE F
    ON B.BOARD_ID = F.BOARD_ID
WHERE B.VIEWS = (SELECT
                    MAX(VIEWS)
                 FROM USED_GOODS_BOARD)
ORDER BY F.FILE_ID DESC;

문제 2.

주문량이 많은 아이스크림들 조회하기

PROCESS

1.JULY 테이블 서브쿼리

SELECT FLAVOR, SUM(TOTAL_ORDER) AS JULY_SUM
FROM JULY
GROUP BY FLAVOR
FLAVORJULY_SUM
Vanilla200
Strawberry150
  1. FIRST_HALF 테이블과 LEFT JOIN
FROM FIRST_HALF F
LEFT JOIN (1) ON F.FLAVOR = J.FLAVOR
  1. ORDER BY로 주문량 총합 기준 정렬
ORDER BY (F.TOTAL_ORDER + COALESCE(J.JULY_SUM, 0)) DESC
  1. LIMIT 3

아티클 스터디

F-Lab : 상위 1% 개발자들의 멘토링 개발 블로그는 어떻게 써야할까?

  • 요약:
    • 개발자는 블로그를 해야 한다. 이때 무엇어떻게, 하는지가 중요하다. 의도와 근거는 항상 중요하다. 예를 들어, 블로그 운영 목적이 딱히 없어서 단순히 취업 준비용으로만 보인다면 좋은 평가를 받지 못할 것이다.
    • 글의 내용: 블로그를 단순 개인 공부 노트처럼 쓰곤 함⇒기술력 어필에 도움이 되려면 어떻게 해야 할까? (재정리, 개념 옮겨 적기 x)
      • 공부한 내용이 아닌 활용한 내용을 적자: 중요한 것은 이해. 특정 개념의 활용 경험이 있으면 좋음.
      • 개념 정리를 하더라도 깊게 하자: 특정 개념 공부는 누구나 할 수 있지만, 내부 메커니즘까지 깊게 공부하는 사람은 많지 않다.
        똑같은 클래스의 사용법을 다루더라도 단순 소개보다 다른 클래스와의 비교, 내부 동작 원리까지 깊게 설명하는 글을 작성하는 것이 더 어필이 된다.
    • 글의 목적: 나만 알아볼 수 있는 글보다, 다른 사람이 잘 알아볼 수 있는 글을 쓰자.
      • 이미지를 잘 활용하자: draw.io 같은 사이트 이용
      • 문단을 잘 나누자: 읽는 사람이 편해진다.
      • 링크를 잘 활용하자: 레퍼런스 링크를 달아주자.
      • 글의 스타일도 잘 입히자: 볼드, 기울임체 등, 가독성을 높여주는 도구들도 적극 활용하자.
  • 주요 포인트: 개발자들은 커리어 향상을 위해 블로그를 운영할 수 있다. 이때 블로그 글의 내용은 기술력 어필에 도움이 되어야 하며, 글의 목적이 명확해야 한다.
profile
기록용

0개의 댓글