SQL CODEKATA 55번 - 조건에 맞는 사용자 정보 조회하기

2024. 7. 15. 13:36·✨Today I Learned/MySQL

55번 - 조건에 맞는 사용자 정보 조회하기

USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID를 기준으로 내림차순 정렬해주세요.

 

<나의 풀이>

select b.user_id,
       b.nickname,
       concat(b.city, ' ', b.street_address1, ' ', b.street_address2) '전체주소',
       concat(substr(b.tlno,1,3), '-', substr(b.tlno,4,4), '-', substr(b.tlno, 8, 4)) '전화번호'
from used_goods_board a inner join used_goods_user b on a.writer_id=b.user_id
group by 1
having count(b.user_id) >= 3
order by 1 desc

 

INNER JOIN을 통한 문제 해결

  1. 조회 : user_id, nickname, 전체주소, 전화번호
  2. 전체주소는 시, 도로명 주소, 상세주소가 함께 출력되어야 하므로 concat() 함수를 이용하여 필요한 컬럼들과 중간에 있는 ' '은 문자마다 띄어쓰기를 위함
  3. 전화번호는 하이픈 문자열(-)을 삽입하여 출력해야하기 때문에 1)concat()으로 하이픈 문자열이 나오도록 함 2) substr()을 통해 문자열이 몇번부터 몇번까지 나오게 할 것인지를 정함
  4. user_id를 기준으로 그룹화를 해주고
  5. 조건: having절을 통해 count 함수를 통해 구한 B 테이블의 user_id 개수가 3개 이상인 경우에만 그룹화하도록 함
  6. 순서: user_id를 기준으로 내림차순

 

concat() - 두개 이상의 문자열을 입력받아, 그것들을 순서대로 결합하여 하나의 문자열로 반환

CONCAT(문자열1, 문자열2 , 문자열3 ...)

 

substr() - 특정 문자열의 부분 문자열을 추출

SUBSTR(string, start_position, length)

 

 


이번 문제는 좀 많이 헷갈렸다 .. ㅎㅎ 오랜만에 SQL에서도 풀기 어려운 문제가 나오니까 당황아닌 당황을 했다

이 문제를 풀면서 아 아직도 나는 SQL에 대한 기초나 지식이 부족하고 약하구나를 깨달았고 파이썬 만큼은 아니더라도 꾸준하게 계속 공부를 해줘야겠다는 생각이 들었다 ! 곧 8월에 SQLD 시험도 있을테니 힘내자 !!

'✨Today I Learned > MySQL' 카테고리의 다른 글

[MySQL] 자동차 대여 기록에 장기/단기 대여 구분하기  (1) 2024.07.22
SQL codekata 58번 - 취소되지 않은 진료 예약 조회하기  (0) 2024.07.16
사전캠프 10일차 - SQL 5주차 정리 / SQL 코드카타 11번~19번  (0) 2024.06.07
사전캠프 9일차 - SQL 5주차 강의 정리, SQL 코드카타 2번~10번  (0) 2024.06.05
사전캠프 - SQL 4주차 강의 정리  (0) 2024.06.04
'✨Today I Learned/MySQL' 카테고리의 다른 글
  • [MySQL] 자동차 대여 기록에 장기/단기 대여 구분하기
  • SQL codekata 58번 - 취소되지 않은 진료 예약 조회하기
  • 사전캠프 10일차 - SQL 5주차 정리 / SQL 코드카타 11번~19번
  • 사전캠프 9일차 - SQL 5주차 강의 정리, SQL 코드카타 2번~10번
임빵빵
임빵빵
헤맨 만큼 내 땅
임빵빵
mj.space
임빵빵
전체
오늘
어제
  • 분류 전체보기 (156)
    • 아티클스터디 (14)
    • ✨Today I Learned (41)
      • MySQL (11)
      • Python (15)
    • 이번 주 돌아보기 (11)
    • 자격증 (9)
      • ADsP (8)
      • SQLD (1)
    • CODEKATA (44)
    • Project (11)
    • Intern (0)
    • Marketing (26)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

링크

공지사항

인기 글

태그

태블로
심화프로젝트
스파르타 코딩클럽
회귀분석
데이터 전처리
ADsP
python
프로그래머스
아티클스터디
pandas
데이터분석가
머신러닝
내일배움카드
데이터 리터러시
SQL
기초
파이썬
사전캠프
스파르타코딩클럽
데이터 문해력
아티클
자격증
데이터분석
Eda
전처리
CodeKata
코드카타
programmers
wil
오블완

최근 댓글

최근 글

hELLO· Designed By정상우.v4.6.1
임빵빵
SQL CODEKATA 55번 - 조건에 맞는 사용자 정보 조회하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.