참치코더의 꿈 메모장

MYSQL / 조건에 맞는 사용자 정보 조회하기 - 프로그래머스 본문

MYSQL

MYSQL / 조건에 맞는 사용자 정보 조회하기 - 프로그래머스

참치깡 2026. 1. 26. 21:05
728x90

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT 
    u.USER_ID,
    u.NICKNAME,
    CONCAT(u.CITY, ' ', u.STREET_ADDRESS1, ' ', u.STREET_ADDRESS2) AS 전체주소,
    CONCAT(
        SUBSTRING(u.TLNO, 13), '-',
        SUBSTRING(u.TLNO, 44), '-',
        SUBSTRING(u.TLNO, 8)
    ) AS 전화번호
FROM USED_GOODS_USER u
JOIN USED_GOODS_BOARD b
    ON u.USER_ID = b.WRITER_ID
GROUP BY 
    u.USER_ID,
    u.NICKNAME,
    u.CITY,
    u.STREET_ADDRESS1,
    u.STREET_ADDRESS2,
    u.TLNO
HAVING COUNT(b.BOARD_ID) >= 3
ORDER BY u.USER_ID DESC;
cs

 

 

- USED_GOODS_BOARD 와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한

  사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL을 작성하는 문제이다.

 

- USED_GOODS_USER와 USED_GOODS_BOARD를 사용하여 공통값인 USER_ID값을 사용해 조인을 하면

  전체 회원의 중고 거래 게시물 등록한 전체 값이 나오게 된다.

 

- 해당 값에서 GROUP BY를 사용하여 묶어서 사용할 값을 선택하여 COUNT 값이 3건 이상인 데이터를 조회한 후

  SELECT절에서 구해야할 각각의 USER_ID, NICKNAME, 전체 주소의 값(CONCAT( ))으로 제작, 전화번호도

  마찬가지로 CONCAT()으로 묶어서 나열하면 정답 데이터 값을 얻을 수 있다.

 

- 마지막으로 ORDER BY를 USER_ID 를 기준으로 내림차순 정렬한다면 정답을 얻을 수 있다. ^^

728x90
Comments