๊ณ„๋ž€์†Œ๋…„ 2025. 1. 20. 00:02

๊ฐ€๊ฒฉ์ด ์ œ์ผ ๋น„์‹ผ ์‹ํ’ˆ์˜ ์ •๋ณด ์ถœ๋ ฅํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/131115

FOOD_PRODUCT ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€๊ฒฉ์ด ์ œ์ผ ๋น„์‹ผ ์‹ํ’ˆ์˜ ์‹ํ’ˆ ID, ์‹ํ’ˆ ์ด๋ฆ„, ์‹ํ’ˆ ์ฝ”๋“œ, ์‹ํ’ˆ๋ถ„๋ฅ˜, ์‹ํ’ˆ ๊ฐ€๊ฒฉ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

1์•ˆ

select PRODUCT_ID,	PRODUCT_NAME,	PRODUCT_CD,	CATEGORY,	PRICE
from food_product
order by price desc
limit 1

2์•ˆ

SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM food_product
WHERE PRICE = (SELECT MAX(PRICE) FROM food_product);

 

๊ฐ€์žฅ ๋น„์‹ผ ์ƒํ’ˆ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/131697

PRODUCT ํ…Œ์ด๋ธ”์—์„œ ํŒ๋งค ์ค‘์ธ ์ƒํ’ˆ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ํŒ๋งค๊ฐ€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ MAX_PRICE๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.

select max(price) max_price
from product

 

์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/59415

๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์€ ์–ธ์ œ ๋“ค์–ด์™”๋Š”์ง€ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”

select datetime
from ANIMAL_INS 
order by datetime desc
limit 1

 

์ตœ์†Ÿ๊ฐ’ ๊ตฌํ•˜๊ธฐ  

https://school.programmers.co.kr/learn/courses/30/lessons/59038

๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ๋™๋ฌผ์€ ์–ธ์ œ ๋“ค์–ด์™”๋Š”์ง€ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

select min(datetime)
from animal_ins

 

๋™๋ฌผ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/59406

๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋™๋ฌผ์ด ๋ช‡ ๋งˆ๋ฆฌ ๋“ค์–ด์™”๋Š”์ง€ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

SELECT count(*)
from animal_ins;

 

์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/59408

๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ด๋ฆ„์€ ๋ช‡ ๊ฐœ์ธ์ง€ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ด๋ฆ„์ด NULL์ธ ๊ฒฝ์šฐ๋Š” ์ง‘๊ณ„ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘๋ณต๋˜๋Š” ์ด๋ฆ„์€ ํ•˜๋‚˜๋กœ ์นฉ๋‹ˆ๋‹ค.

select count(distinct (name))
from animal_ins

 

์กฐ๊ฑด์— ๋งž๋Š” ์•„์ดํ…œ๋“ค์˜ ๊ฐ€๊ฒฉ์˜ ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/273709

ITEM_INFO ํ…Œ์ด๋ธ”์—์„œ ํฌ๊ท€๋„๊ฐ€ 'LEGEND'์ธ ์•„์ดํ…œ๋“ค์˜ ๊ฐ€๊ฒฉ์˜ ์ดํ•ฉ์„ ๊ตฌํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ 'TOTAL_PRICE'๋กœ ์ง€์ •ํ•ด ์ฃผ์„ธ์š”.

SELECT SUM(price) AS TOTAL_PRICE
FROM ITEM_INFO
WHERE rarity = 'LEGEND';


๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜ ๋ณ„ ๋Œ€์–ด ์ฐพ๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/293261

๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜ ๋ณ„๋กœ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ID, ๋ฌผ๊ณ ๊ธฐ ์ด๋ฆ„, ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

๋ฌผ๊ณ ๊ธฐ์˜ ID ์ปฌ๋Ÿผ๋ช…์€ ID, ์ด๋ฆ„ ์ปฌ๋Ÿผ๋ช…์€ FISH_NAME, ๊ธธ์ด ์ปฌ๋Ÿผ๋ช…์€ LENGTH๋กœ ํ•ด์ฃผ์„ธ์š”.
๊ฒฐ๊ณผ๋Š” ๋ฌผ๊ณ ๊ธฐ์˜ ID์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.
๋‹จ, ๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜๋ณ„ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ๋Š” 1๋งˆ๋ฆฌ๋งŒ ์žˆ์œผ๋ฉฐ 10cm ์ดํ•˜์˜ ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

SELECT 
    fi.ID,
    fn.FISH_NAME,
    fi.LENGTH
FROM FISH_INFO fi
JOIN FISH_NAME_INFO fn 
    ON fi.fish_type = fn.fish_type
WHERE fi.LENGTH = (
    SELECT MAX(sub_fi.LENGTH)
    FROM FISH_INFO sub_fi
    WHERE sub_fi.fish_type = fi.fish_type
)
ORDER BY fi.ID;


์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/298515

FISH_INFO ํ…Œ์ด๋ธ”์—์„œ ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด๋ฅผ 'cm' ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ด ๋•Œ ์ปฌ๋Ÿผ๋ช…์€ 'MAX_LENGTH' ๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.

select concat(max(length),'cm') 'MAX_LENGTH'
from fish_info


์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ ๊ตฌํ•˜๊ธฐ 

์ œ์ผ ์–ด๋ ค์› ์Œ

๋ฌธ์ œ ์ดํ•ด๊ฐ€ ํž˜๋“ค์—ˆ๋˜ ๋ฌธ์ œ

SELECT YEAR(e.DIFFERENTIATION_DATE)                                                            AS YEAR,
       (SELECT MAX(e2.SIZE_OF_COLONY)
        FROM ECOLI_DATA e2
        WHERE YEAR(e2.DIFFERENTIATION_DATE) = YEAR(e.DIFFERENTIATION_DATE)) - e.SIZE_OF_COLONY AS YEAR_DEV,
       e.ID
FROM ECOLI_DATA e
ORDER BY YEAR,
         YEAR_DEV;