1) ๋ฌธ์ ์ค๋ช
- ๋ค์์ ๊ณ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ด์ MEMBER_PROFILEํ ์ด๋ธ๊ณผ ์๋น์ ๋ฆฌ๋ทฐ ์ ๋ณด๋ฅผ ๋ด์ REST_REVIEW ํ ์ด๋ธ์ ๋๋ค.
- MEMBER_PROFILE ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH๋ ํ์ ID, ํ์ ์ด๋ฆ, ํ์ ์ฐ๋ฝ์ฒ, ์ฑ๋ณ, ์๋ ์์ผ์ ์๋ฏธํฉ๋๋ค.
Column name | Type | Nullable |
MEMBER_ID | VARCHAR(100) | FALSE |
MEMBER_NAME | VARCHAR(50) | FALSE |
TLNO | VARCHAR(50) | TRUE |
GENDER | VARCHAR(1) | TRUE |
DATE_OF_BIRTH | DATE | TRUE |
- REST_REVIEW ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ REVIEW_ID, REST_ID, MEMBER_ID, REVIEW_SCORE, REVIEW_TEXT,REVIEW_DATE๋ ๊ฐ๊ฐ ๋ฆฌ๋ทฐ ID, ์๋น ID, ํ์ ID, ์ ์, ๋ฆฌ๋ทฐ ํ ์คํธ, ๋ฆฌ๋ทฐ ์์ฑ์ผ์ ์๋ฏธํฉ๋๋ค.
Column name | Type | Nullable |
REVIEW_ID | VARCHAR(10) | FALSE |
REST_ID | VARCHAR(10) | TRUE |
MEMBER_ID | VARCHAR(100) | TRUE |
REVIEW_SCORE | NUMBER | TRUE |
REVIEW_TEXT | VARCHAR(1000) | TRUE |
REVIEW_DATE | DATE | TRUE |
2) ๋ฌธ์
- MEMBER_PROFILE์ REST_REVIEW ํ ์ด๋ธ์์ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ์ฅ ๋ง์ด ์์ฑํ ํ์์ ๋ฆฌ๋ทฐ๋ค์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
- ํ์ ์ด๋ฆ, ๋ฆฌ๋ทฐ ํ ์คํธ, ๋ฆฌ๋ทฐ ์์ฑ์ผ์ด ์ถ๋ ฅ๋๋๋ก ์์ฑํด์ฃผ์๊ณ , ๊ฒฐ๊ณผ๋ ๋ฆฌ๋ทฐ ์์ฑ์ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์, ๋ฆฌ๋ทฐ ์์ฑ์ผ์ด ๊ฐ๋ค๋ฉด ๋ฆฌ๋ทฐ ํ ์คํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
3) ์์
- MEMBER_PROFILE ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๊ณ
MEMBER_ID | MEMBER_NAME | TLNO | GENDER | DATE_OF_BIRTH |
jiho92@naver.com | ์ด์งํธ | 01076432111 | W | 1992-02-12 |
jiyoon22@hotmail.com | ๊น์ง์ค | 01032324117 | W | 1992-02-22 |
jihoon93@hanmail.net | ๊น์งํ | 01023258688 | M | 1993-02-23 |
seoyeons@naver.com | ๋ฐ์์ฐ | 01076482209 | W | 1993-03-16 |
yelin1130@gmail.com | ์กฐ์๋ฆฐ | 01017626711 | W | 1990-11-30 |
- REST_REVIEW ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ์ ๋
REVIEW_ID | REST_ID | MEMBER_ID | REVIEW_SCORE | REVIEW_TEXT | REVIEW_DATE |
R000000065 | 00028 | soobin97@naver.com | 5 | ๋ถ์ฐ ๊ตญ๋ฌผ์์ ์ค๋ธ์ค๋ธ ๋ง์ด๋๊ณ ๊น๋ | 2022-04-12 |
R000000066 | 00039 | yelin1130@gmail.com | 5 | ๊น์น์ฐ๊ฐ ์ต๊ณฑ๋๋ค. | 2022-02-12 |
R000000067 | 00028 | yelin1130@gmail.com | 5 | ํ์ด ๋ง์์ ์ข์์ | 2022-02-22 |
R000000068 | 00035 | ksyi0316@gmail.com | 5 | ์์ฑํ๊ฐ ๋๋ด์ค๋๋ค. | 2022-02-15 |
R000000069 | 00035 | yoonsy95@naver.com | 4 | ๋น๋ฆฐ๋ด๊ฐ ์ ํ์์ด์. | 2022-04-16 |
- SQL์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋์ด์ผ ํฉ๋๋ค.
MEMBER_NAME | REVIEW_TEXT | REVIEW_DATE |
์กฐ์๋ฆฐ | ๊น์น์ฐ๊ฐ ์ต๊ณฑ๋๋ค. | 2022-02-12 |
์กฐ์๋ฆฐ | ํ์ด ๋ง์์ ์ข์์ | 2022-02-22 |
4) ํ์ด
SELECT MEMBER_NAME
, REVIEW_TEXT
, DATE_FORMAT(REVIEW_DATE, '%Y-%m-%d') AS "REVIEW_DATE"
FROM REST_REVIEW r
INNER JOIN MEMBER_PROFILE m
ON r.MEMBER_ID = m.MEMBER_ID
WHERE r.MEMBER_ID = (SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY COUNT(REVIEW_SCORE) DESC
LIMIT 1)
ORDER BY REVIEW_DATE, REVIEW_TEXT
[Reference]
๋ฐ์ํ