๋ฌธ์ ์ค๋ช
๋ค์์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_BOARD ํ ์ด๋ธ๊ณผ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ฒจ๋ถํ์ผ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_USER ํ ์ด๋ธ์ ๋๋ค. USED_GOODS_BOARD ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS๋ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ๋ด์ฉ, ๊ฐ๊ฒฉ, ์์ฑ์ผ, ๊ฑฐ๋์ํ, ์กฐํ์๋ฅผ ์๋ฏธํฉ๋๋ค.
Column nameTypeNullable
BOARD_ID | VARCHAR(5) | FALSE |
WRITER_ID | VARCHAR(50) | FALSE |
TITLE | VARCHAR(100) | FALSE |
CONTENTS | VARCHAR(1000) | FALSE |
PRICE | NUMBER | FALSE |
CREATED_DATE | DATE | FALSE |
STATUS | VARCHAR(10) | FALSE |
VIEWS | NUMBER | FALSE |
USED_GOODS_USER ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ USER_ID, NICKNAME, CITY, STREET_ADDRESS1, STREET_ADDRESS2, TLNO๋ ๊ฐ๊ฐ ํ์ ID, ๋๋ค์, ์, ๋๋ก๋ช ์ฃผ์, ์์ธ ์ฃผ์, ์ ํ๋ฒํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
Column nameTypeNullable
USER_ID | VARCHAR(50) | FALSE |
NICKANME | VARCHAR(100) | FALSE |
CITY | VARCHAR(100) | FALSE |
STREET_ADDRESS1 | VARCHAR(100) | FALSE |
STREET_ADDRESS2 | VARCHAR(100) | TRUE |
TLNO | VARCHAR(20) | FALSE |
๋ฌธ์
USED_GOODS_BOARD์ USED_GOODS_USER ํ ์ด๋ธ์์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์๋ฌผ์ 3๊ฑด ์ด์ ๋ฑ๋กํ ์ฌ์ฉ์์ ์ฌ์ฉ์ ID, ๋๋ค์, ์ ์ฒด์ฃผ์, ์ ํ๋ฒํธ๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋, ์ ์ฒด ์ฃผ์๋ ์, ๋๋ก๋ช ์ฃผ์, ์์ธ ์ฃผ์๊ฐ ํจ๊ป ์ถ๋ ฅ๋๋๋ก ํด์ฃผ์๊ณ , ์ ํ๋ฒํธ์ ๊ฒฝ์ฐ xxx-xxxx-xxxx ๊ฐ์ ํํ๋ก ํ์ดํ ๋ฌธ์์ด(-)์ ์ฝ์ ํ์ฌ ์ถ๋ ฅํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ํ์ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๋ฌธ์ ํ์ด
SELECT USER_ID, NICKNAME,
CONCAT(CITY, ' ',STREET_ADDRESS1,' ', STREET_ADDRESS2) AS ์ ์ฒด์ฃผ์,
CONCAT(SUBSTR(TLNO, 1, 3), '-',SUBSTR(TLNO, 4, 4),'-', SUBSTR(TLNO, 8,4)) AS ์ ํ๋ฒํธ
FROM USED_GOODS_BOARD AS BOARD
JOIN USED_GOODS_USER AS USER ON BOARD.WRITER_ID=USER.USER_ID
GROUP BY USER_ID
HAVING COUNT(USER_ID)>=3
ORDER BY USER_ID DESC;
1. USED_GOODS_BOARD์ USED_GOODS_USER๋ฅผ ๊ฐ๊ฐ WRITER_ID์ USER_ID๋ฅผ ๊ธฐ์ค์ผ๋ก JOINํ๋ค.
2. ์กฐ์ธํ ๋ฐ์ดํฐ๋ฅผ USER_ID๋ก ๊ทธ๋ฃนํํ๋ค.
3. ๊ทธ๋ฃน๋ณ๋ก ๊ฐ์๊ฐ 3๊ฐ ์ด์์ธ ๋ฐ์ดํฐ๋ค์ ์ถ์ถํ๋ค.
4. CONCAT์ ์ด์ฉํด์ ์ ์ฒด ์ฃผ์์ ์ ํ ๋ฒํธ๋ฅผ ํ์์ ๋ง๊ฒ ์ถ์ถํด์ผ ํ๋๋ฐ, ์ ์ฒด ์ฃผ์์ ๊ฒฝ์ฐ CITY์ ๋๋ก๋ช ์ฃผ์์ ์์ธ ์ฃผ์๋ฅผ ' ' ๊ณต๋ฐฑ์ ๋๊ณ ๊ตฌ๋ถํ์ฌ ์ถ์ถํ๋ค.
5. ์ ํ๋ฒํธ์ ๊ฒฝ์ฐ SUBSTR์ ์ด์ฉํด์ TLNO์ 1๋ฒ๋ถํฐ 3๊ฐ, 4๋ฒ๋ถํฐ 4๊ฐ, 8๋ฒ๋ถํฐ 4๊ฐ๋ฅผ ๋์ด์ '-'์ผ๋ก ๊ตฌ๋ถ์ ๋๊ณ ์ถ์ถํ๋ค.
6. ์ฌ์ฉ์ ์์ด๋์ ๋๋ค์, ์ ์ฒด ์ฃผ์์ ์ ํ๋ฒํธ๋ฅผ ์ฌ์ฉ์ ์์ด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ค.