뭉지(moonz)
작은 발자국들의 위대한 여정
뭉지(moonz)
  • All (202)
    • Test Code (4)
    • 백엔드 개발하며 작성한 (27)
      • Spring (17)
      • 데이터베이스 (7)
      • 기억할 내용 (3)
    • 언어 (53)
      • Java (25)
      • node.js (7)
      • Python (21)
    • 클라우드 (6)
    • Algorithm & Data Structure (51)
      • 개념 (15)
      • 문제 풀이 (36)
    • 유용한 모든 것 (16)
    • monologue (7)
      • 업무 노트 (1)
      • 관리 로그 (0)
      • 내 이야기 공책 (6)
    • Project (2)
    • TroubleShooting (8)
    • 지식 (18)
      • Machine Learning (6)
      • Review (7)
      • Web (5)
    • Computer Science (5)

블로그 메뉴

  • 홈
  • 태그

인기 글

최근 글

최근 댓글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
뭉지(moonz)

작은 발자국들의 위대한 여정

[SQL, 프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기
Algorithm & Data Structure/문제 풀이

[SQL, 프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기

2024. 6. 9. 12:48
반응형

프로그래머스에 여러 문법들을 활용해서 SQL 쿼리문을 짜볼 수 있도록 다양한 문제들을 레벨 별로 제공하고 있습니다.
Lv2인'조건에 맞는 도서와 저자 리스트 출력하기' 문제를 풀어보았습니다.

프로그래머스 문제 링크 참고 바라며, 문제는 간략히 설명합니다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

사용할 테이블 정보

어느 한 서점에서 판매중인 도서 정보를 담고 있는 book 테이블과 저자 정보를 담고 있는 author 테이블이 있으며,

두 테이블 모두 author_id 값을 갖고 있습니다.

고민 과정

    1. book 테이블에 있는 정보와 author 테이블에 있는 정보를 합쳐서 보여줘야 한다.
      • 그냥 합치면 될 것으로 보이니 INNER JOIN해야지
    2. 카테고리 = '경제'로 필터링해야 한다.
      • WHERE 절 추가해야지
    3. book.published_date로 정렬해야 한다.
      • 마지막에 ORDER BY 추가해야지
    4. 그외 고려해야할 것은 없어보인다.
      • SQL 짜러 고!

+ (고민 과정에서는 놓쳤지만) published_date를 '2021-04-01'처럼 노출되도록 포맷팅 적용한다.

 

SQL 쿼리 작성

SELECT book.book_id, author.author_name, DATE_FORMAT(book.published_date, '%Y-%m-%d') AS published_date
FROM book JOIN author
ON book.author_id = author.author_id
WHERE book.category = '경제'
ORDER BY book.published_date;

 

추가 필요한 지식

INNER JOIN, ORDER BY, DATE_FORMAT()

 

DATE_FORMAT()

문제 유형인 'JOIN' 개념 외에 Date 포맷팅 적용 방법도 알아야했습니다.
이미 Date 타입인데, 데이터의 포맷을 yyyy-mm-dd HH:MM:SS -> yyyy-mm-dd 형태로 바꾸어주어야 하려면, 아래 문법을 사용합니다.
데이터 포맷팅 규칙은 다양하게 있습니다.

DATE_FORMAT(date, '%Y-m-%d')

모든 포맷을 외우기 힘들다면 아래 예시 정도면 알아두어도 괜찮을 것 같아요

포맷 표현식 예시
'%Y-%m-%d %H:%i:%s' 1999-01-01 00:00:00
'%Y-%m-%d %T' 1999-01-01 00:00:00
'%Y-%m-%d %r' 1999-01-01 12:00:00 AM

**시각 : 정오

반응형
저작자표시 (새창열림)

'Algorithm & Data Structure > 문제 풀이' 카테고리의 다른 글

[SQL, 프로그래머스] 주문량이 많은 아이스크림들 조회하기  (0) 2024.06.16
[SQL, 프로그래머스] 상품 별 오프라인 매출 구하기  (1) 2024.06.09
[HackerRank] SQL 문제  (0) 2022.06.26
[JAVA] baekjoon 2447 별 찍기-10  (0) 2022.06.15
[JAVA] baekjoon 1891 사분면  (0) 2022.06.13
    'Algorithm & Data Structure/문제 풀이' 카테고리의 다른 글
    • [SQL, 프로그래머스] 주문량이 많은 아이스크림들 조회하기
    • [SQL, 프로그래머스] 상품 별 오프라인 매출 구하기
    • [HackerRank] SQL 문제
    • [JAVA] baekjoon 2447 별 찍기-10
    뭉지(moonz)
    뭉지(moonz)
    제가 깨달은 것을 정리하는 공간입니다. 🧡

    티스토리툴바