๋ชฉ์ฐจ
[โ] ๊ฐ์ฅ ๋น์ผ ์ํ ๊ตฌํ๊ธฐ
Q. PRODUCT ํ ์ด๋ธ์์ ํ๋งค ์ค์ธ ์ํ ์ค ๊ฐ์ฅ ๋์ ํ๋งค๊ฐ๋ฅผ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ปฌ๋ผ๋ช ์ MAX_PRICE๋ก ์ง์ ํด์ฃผ์ธ์.
SELECT MAX(PRICE) AS MAX_PRICE
FROM PRODUCT
[โ] ์ต๋๊ฐ ๊ตฌํ๊ธฐ
Q. ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ธ์ ๋ค์ด์๋์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT MAX(DATETIME) AS ์๊ฐ
FROM ANIMAL_INS
[โ ] ์ก์ ๋ฌผ๊ณ ๊ธฐ ์ค ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์ ๊ธธ์ด ๊ตฌํ๊ธฐ
Q. FISH_INFO ํ ์ด๋ธ์์ ์ก์ ๋ฌผ๊ณ ๊ธฐ ์ค ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์ ๊ธธ์ด๋ฅผ 'cm' ๋ฅผ ๋ถ์ฌ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
์ด ๋ ์ปฌ๋ผ๋ช ์ 'MAX_LENGTH' ๋ก ์ง์ ํด์ฃผ์ธ์.
SELECT
CONCAT(MAX(LENGTH), "cm") MAX_LENGTH
FROM
FISH_INFO
[โโ] ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
Q. FOOD_PRODUCT ํ ์ด๋ธ์์ ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ํ ID, ์ํ ์ด๋ฆ, ์ํ ์ฝ๋, ์ํ๋ถ๋ฅ, ์ํ ๊ฐ๊ฒฉ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE)
FROM FOOD_PRODUCT)
[โโ] ์ต์๊ฐ ๊ตฌํ๊ธฐ
Q. ๋๋ฌผ ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ธ์ ๋ค์ด์๋์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT MIN(DATETIME)
FROM ANIMAL_INS
[โโ] ๋๋ฌผ ์ ๊ตฌํ๊ธฐ
Q. ๋๋ฌผ ๋ณดํธ์์ ๋๋ฌผ์ด ๋ช ๋ง๋ฆฌ ๋ค์ด์๋์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT COUNT(ANIMAL_ID)
FROM ANIMAL_INS
[โโ] ์ค๋ณต ์ ๊ฑฐํ๊ธฐ
Q. ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ด๋ฆ์ ๋ช ๊ฐ์ธ์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ด๋ฆ์ด NULL์ธ ๊ฒฝ์ฐ๋ ์ง๊ณํ์ง ์์ผ๋ฉฐ ์ค๋ณต๋๋ ์ด๋ฆ์ ํ๋๋ก ์นฉ๋๋ค.
SELECT COUNT( DISTINCT(NAME)) AS cnt
FROM ANIMAL_INS
์ฐธ๊ณ ๋ก COUNT(*)์ ๊ฒฝ์ฐ NULL๊ฐ์ ํฌํจํ ๊ฐ์ ๋ฐํํ์ง๋ง COUNT(์ปฌ๋ผ ์ด๋ฆ)์ NULL๊ฐ์ ์ ์ธํ์ฌ ์ฒ๋ฆฌํ๋ค.
[โโ] ์กฐ๊ฑด์ ๋ง๋ ์์ดํ ๋ค์ ๊ฐ๊ฒฉ์ ์ดํฉ ๊ตฌํ๊ธฐ
Q. ITEM_INFO ํ ์ด๋ธ์์ ํฌ๊ท๋๊ฐ 'LEGEND'์ธ ์์ดํ ๋ค์ ๊ฐ๊ฒฉ์ ์ดํฉ์ ๊ตฌํ๋ SQL๋ฌธ์ ์์ฑํด ์ฃผ์ธ์. ์ด๋ ์ปฌ๋ผ๋ช ์ 'TOTAL_PRICE'๋ก ์ง์ ํด ์ฃผ์ธ์.
SELECT SUM(PRICE) AS TOTAL_PRICE
FROM ITEM_INFO
WHERE RARITY = 'LEGEND'
[โโ] ์ฐ๋๋ณ ๋์ฅ๊ท ํฌ๊ธฐ์ ํธ์ฐจ ๊ตฌํ๊ธฐ
Q. ๋ถํ๋ ์ฐ๋(YEAR), ๋ถํ๋ ์ฐ๋๋ณ ๋์ฅ๊ท ํฌ๊ธฐ์ ํธ์ฐจ(YEAR_DEV), ๋์ฅ๊ท ๊ฐ์ฒด์ ID(ID) ๋ฅผ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๋ถํ๋ ์ฐ๋๋ณ ๋์ฅ๊ท ํฌ๊ธฐ์ ํธ์ฐจ๋ ๋ถํ๋ ์ฐ๋๋ณ ๊ฐ์ฅ ํฐ ๋์ฅ๊ท ์ ํฌ๊ธฐ - ๊ฐ ๋์ฅ๊ท ์ ํฌ๊ธฐ๋ก ๊ตฌํ๋ฉฐ ๊ฒฐ๊ณผ๋ ์ฐ๋์ ๋ํด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ๊ฐ์ ์ฐ๋์ ๋ํด์๋ ๋์ฅ๊ท ํฌ๊ธฐ์ ํธ์ฐจ์ ๋ํด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ฃผ์ธ์.
WITH M AS (
SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, MAX(SIZE_OF_COLONY) AS MAX_SIZE
FROM ECOLI_DATA
GROUP BY YEAR)
SELECT YEAR(E.DIFFERENTIATION_DATE) AS YEAR, M.MAX_SIZE - E.SIZE_OF_COLONY AS YEAR_DEV, E.ID
FROM ECOLI_DATA AS E JOIN M ON YEAR(E.DIFFERENTIATION_DATE) = M.YEAR
ORDER BY YEAR,YEAR_DEV;
* ํด๋น ๋ฌธ์ ์ ๊ฒฝ์ฐ ์ฐ๋๋ฅผ ์ฒ๋ฆฌํจ์์์ด, DATEFORMAT()์ ์ฌ์ฉํ๋ฉด ์ค๋ต์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
๊ด๋ จ ๊ฐ๋ > 2024.11.13 - [๐๏ธ ๋ฐ์ดํฐ ๋ถ์/๐ SQL] - [MYSQL] ๊ฐ๋ ์กฐ๊ฐ ๋ชจ์
[โโโ] ๋ฌผ๊ณ ๊ธฐ ์ข ๋ฅ ๋ณ ๋์ด ์ฐพ๊ธฐ
Q. ๋ฌผ๊ณ ๊ธฐ ์ข ๋ฅ ๋ณ๋ก ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์ ID, ๋ฌผ๊ณ ๊ธฐ ์ด๋ฆ, ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
๋ฌผ๊ณ ๊ธฐ์ ID ์ปฌ๋ผ๋ช
์ ID, ์ด๋ฆ ์ปฌ๋ผ๋ช
์ FISH_NAME, ๊ธธ์ด ์ปฌ๋ผ๋ช
์ LENGTH๋ก ํด์ฃผ์ธ์.
๊ฒฐ๊ณผ๋ ๋ฌผ๊ณ ๊ธฐ์ ID์ ๋ํด ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๋จ, ๋ฌผ๊ณ ๊ธฐ ์ข
๋ฅ๋ณ ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ๊ธฐ๋ 1๋ง๋ฆฌ๋ง ์์ผ๋ฉฐ 10cm ์ดํ์ ๋ฌผ๊ณ ๊ธฐ๊ฐ ๊ฐ์ฅ ํฐ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
SELECT I.ID, N.FISH_NAME, I.LENGTH
FROM FISH_INFO I JOIN FISH_NAME_INFO N ON I.FISH_TYPE = N.FISH_TYPE
WHERE I.LENGTH = (
SELECT MAX(LENGTH)
FROM FISH_INFO F
WHERE F.FISH_TYPE = I.FISH_TYPE
GROUP BY FISH_TYPE)
ORDER BY I.ID ASC;