본문 바로가기
MYSQL/프로그래머스 LV03

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

by 수스리 2025. 3. 4.

https://school.programmers.co.kr/learn/courses/30/lessons/164670

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

SELECT
    USER_ID, NICKNAME,
    CONCAT(CITY, ' ',STREET_ADDRESS1, ' ',STREET_ADDRESS2) AS "전체주소",
    CONCAT(SUBSTRING(TLNO, 1, 3), '-', SUBSTRING(TLNO, 4, 4), '-',
          SUBSTRING(TLNO, 8, 11)) AS "전화번호"
FROM USED_GOODS_BOARD UGB
JOIN USED_GOODS_USER UGU ON UGB.WRITER_ID = UGU.USER_ID
GROUP BY USER_ID
HAVING COUNT(*) >= 3
ORDER BY USER_ID DESC;

 

여기서 집고 넘어 갈 것

SUBSTRING

나는 SUBSTRING을 어떻게 쓰는지 잘 몰랐었다. SUBSTRING(Column, 문자열 시작위치, 시작위치부터 얼마까지(길이))를 나타낸다. 나는 SUBSTRING(Column, 문자열 시작위치, 잘라낼 문자열 위치))를 말 하는 줄 알았다. 엄밀히 따지면 내가끈 쿼리 SUBSTRING(TLNO, 8, 11) 이 부분이 이상하다고 생각 할 수 있다. 11이라는 숫자가 마지막 문자열을 넘어서 상관 없다고 한다

SUBSTRING(TLNO, 8, 4) 이렇게 적으면 더 깔끔하긴 할 듯!