โ๏ธ Programmers MySQL ์ ๋ต๋ฅ 55~65% ์ ์ฒด ํ์ด
1๏ธโฃ ์ฃผ๋ฌธ๋์ด ๋ง์ ์์ด์คํฌ๋ฆผ๋ค ์กฐํํ๊ธฐ (https://school.programmers.co.kr/learn/courses/30/lessons/133027)
SELECT FH.FLAVOR
FROM FIRST_HALF AS FH
INNER JOIN (
SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL
FROM JULY
GROUP BY FLAVOR
) AS SUB
ON FH.FLAVOR = SUB.FLAVOR
ORDER BY (TOTAL_ORDER + TOTAL) DESC
LIMIT 3;
SELECT FH.FLAVOR
FROM FIRST_HALF AS FH
JOIN JULY AS J
ON FH.FLAVOR = J.FLAVOR
GROUP BY FH.FLAVOR
ORDER BY (FH.TOTAL_ORDER + SUM(J.TOTAL_ORDER)) DESC
LIMIT 3;
2๏ธโฃ ์์ธ์ ์์นํ ์๋น ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ (https://school.programmers.co.kr/learn/courses/30/lessons/131118)
SELECT RI.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, SCORE
FROM REST_INFO AS RI
JOIN (
SELECT REST_ID, ROUND(AVG(REVIEW_SCORE), 2) AS SCORE
FROM REST_REVIEW
GROUP BY REST_ID
) AS RR
ON RI.REST_ID = RR.REST_ID
WHERE ADDRESS LIKE "์์ธ%"
ORDER BY SCORE DESC, FAVORITES DESC;
3๏ธโฃ ์คํ๋ผ์ธ/์จ๋ผ์ธ ํ๋งค ๋ฐ์ดํฐ ํตํฉํ๊ธฐ (https://school.programmers.co.kr/learn/courses/30/lessons/131537)
SELECT date_format(sales_date, "%Y-%m-%d") as sales_date, product_id, user_id, sales_amount
FROM online_sale
WHERE MONTH(sales_date) = 3
UNION
SELECT date_format(sales_date, "%Y-%m-%d") as sales_date, product_id, NULL as user_id, sales_amount
FROM offline_sale
WHERE MONTH(sales_date) = 3
ORDER BY sales_date asc, product_id asc, user_id asc;
# UNION (DISTINCT) & UNION ALL ์ ์ฌ์ฉ
# ๋ค๋ฅธ ํ
์ด๋ธ์ด์ง๋ง ๊ฐ๊ฐ์ ํ
์ด๋ธ์ ๋ด์ฉ์ ๋์ผํ ์ปฌ๋ผ์ ๋ด์์ ํํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฌ์ฉ
# (1) UNION (DISTINCT) : ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ํฉ์น๋ค. ์ค๋ณต๋ row ๋ ์ ๊ฑฐ.
# (2) UNION ALL : ๋ชจ๋ ์ปฌ๋ผ๊ฐ์ด ๊ฐ์ row ๋ ๊ฒฐ๊ณผ๋ก ๋ณด์ฌ์ค๋ค. (์ค๋ณต์ ๊ฑฐ x)
# MySQL ์ ๋ด๋ถ์ ์ผ๋ก UNION ALL ๊ณผ UNION ์ ์ฒ๋ฆฌํ๋ ๊ณผ์
# 1. ์ต์ข
UNION [ALL | DISTINCT] ๊ฒฐ๊ณผ์ ์ ํฉํ ์์ ํ
์ด๋ธ์ ๋ฉ๋ชจ๋ฆฌ ํ
์ด๋ธ๋ก ์์ฑ
# 2. UNION ๋๋ UNION DISTINCT ์ ๊ฒฝ์ฐ, ์์ ํ
์ด๋ธ์ ๋ชจ๋ ์ปฌ๋ผ์ผ๋ก Unique Hash ์ธ๋ฑ์ค ์์ฑ
# 3. ์๋ธ์ฟผ๋ฆฌ 1์คํ ํ ๊ฒฐ๊ณผ๋ฅผ ์์ํ
์ด๋ธ์ ๋ณต์ฌ
# 4. ์๋ธ์ฟผ๋ฆฌ 2 ์คํ ํ ๊ฒฐ๊ณผ๋ฅผ ์์ํ
์ด๋ธ์ ๋ณต์ฌ
# 5. 3,4 ๋ฒ ๊ณผ์ ์์ ์์ ํ
์ด๋ธ์ด ํน์ ์ฌ์ด์ฆ ์ด์์ผ๋ก ์ปค์ง๋ฉด ์์ ํ
์ด๋ธ์ ๋์คํฌ ์์ ํ
์ด๋ธ๋ก ๋ณ๊ฒฝ
# 6. ์์ ํ
์ด๋ธ์ ์ฝ์ด์ ํด๋ผ์ด์ธํธ์ ๊ฒฐ๊ณผ ์ ์ก
# 7. ์์ ํ
์ด๋ธ ์ญ์
'SQL ๐ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| (Programmers) SQL ํ์ด (12) (0) | 2022.11.06 |
|---|---|
| (Programmers) SQL ํ์ด (11) (0) | 2022.11.01 |
| (Programmers) SQL ํ์ด (9) (0) | 2022.10.27 |
| (Programmers) SQL ํ์ด (8) (0) | 2022.10.26 |
| (Programmers) SQL ํ์ด (7) (1) | 2022.10.25 |