SQL 쿼리 연습/JOIN

[Lv.3 / 프로그래머스 / SQL] 조건에 맞는 사용자 정보 조회하기

김세진 2023. 4. 5. 23:56
반응형

 

 

 

 

프로그래머스

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

programmers.co.kr

 

 

풀이 (MySQL)

 

USED_GOODS_BOARD 테이블을 WRITER_ID를 기준으로 그룹별로 묶었을 때, 3개 이상 존재하는 사용자 아이디를 조회해야 한다.

해당 조건은 JOIN을 통해 해결한 뒤, 전체 주소와 전화번호를 CONCAT 및 SUBSTRING으로 문제 조건에 맞도록 출력하면 된다.

 

SELECT
    USER_ID,
    NICKNAME,
    CONCAT(CITY," ", STREET_ADDRESS1, " ", STREET_ADDRESS2) AS 전체주소,
    CONCAT(SUBSTRING(TLNO,1,3), "-" ,SUBSTRING(TLNO,4,4), "-", SUBSTRING(TLNO,8,4)) AS 전화번호
FROM
    USED_GOODS_USER AS USER
INNER JOIN (
    SELECT
        COUNT(BOARD_ID) AS COUNT,
        WRITER_ID
    FROM
        USED_GOODS_BOARD
    GROUP BY
        WRITER_ID
    ) AS BOARD
ON
    USER.USER_ID = BOARD.WRITER_ID
WHERE
    COUNT >= 3
ORDER BY
    USER.USER_ID DESC

 

 

 

반응형