6๏ธโฃ SQL/Problem Solving8 [MySQL] Programmers Lv.4, 5 ์ ์ฒด ๋ฌธ์ ํ์ด (2023 ์ ๋ฐ์ดํธ!) 23๋ ์ ๋ฐ์ดํธ๋ Lv.4, 5 ๋ฌธ์ ๋ค๊น์ง ๋ชจ๋ ํ์ด๋ณด์๋ค. :) Programmers์ ๋ชจ๋ SQL ๋ฌธ์ ๋ค์ ํ์ด๋ณธ ํ๊ธฐ๋! ํ์คํ ์ต๊ทผ ์ฌ๋ผ๊ฐ ์ฝ๋ฉํ ์คํธ ๋์ด๋์ ๋ง์ถฐ์ ์กฐ๊ธ ๋ ์์ค๋์ ๋ฌธ์ ๋ค์ด ์๊ธด ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์๋ concat, substr, round, truncate, datediff์ ๊ฐ์ด ๋ค์ํ ํจ์๋ค์ ์ด์ฉํ๋ ๋ฌธ์ ๋ ์ธ ๊ฐ์ ํ ์ด๋ธ์ ์กฐ์ธํ๋ ๋ฌธ์ , ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ ์ด์์ ์ปฌ๋ผ์ผ๋ก group by ํ๋ ๋ฌธ์ ๋ฑ ๋ฌธ์ ์ ๋ค์์ฑ์ด ๋งค์ฐ ๋ถ์กฑํด์ Programmers ๋ง์ผ๋ก SQL ์ฝ๋ฉํ ์คํธ๋ฅผ ๋๋นํ๊ธฐ์๋ ๋ฌด๋ฆฌ๊ฐ ์์๋ค. ์ด์ ๋ ์๋กญ๊ฒ ์ ๋ฐ์ดํธ๋ ๋ฌธ์ ๋ค๊น์ง ๋ฐ๋ณตํด์ ํ์ด๋ณธ๋ค๋ฉด, SQL ๋ฌธ์ ํ์ด ๋๋น์ ์ถฉ๋ถํ๋ค๊ณ ๋๊ปด์ง๋ค. ์งฑ! ๐ ๊ธฐ์กด ๋ฌธ์ ๋ค์ ํ์ด๋ ๐์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์ ! ์ํ.. 2023. 6. 29. [MySQL] Programmers Lv.3 ์ ์ฒด ๋ฌธ์ ํ์ด (2023 ์ ๋ฐ์ดํธ!) 2023๋ ์๋กญ๊ฒ ์ ๋ฐ์ดํธ๋ Programmers Lv.3 ๋ฌธ์ ๋ค์ ํ์ดํ๋ค. ๊ธฐ์กด ๋ฌธ์ ๋ค์ ํ์ด๋ ๐์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! ์กฐ๊ฑด๋ณ๋ก ๋ถ๋ฅํ์ฌ ์ฃผ๋ฌธ์ํ ์ถ๋ ฅํ๊ธฐ select order_id, product_id, date_format(out_date, '%Y-%m-%d'), (case when out_date '2022-05-01' then '์ถ๊ณ ๋๊ธฐ' else '์ถ๊ณ ๋ฏธ์ ' end) as ์ถ๊ณ ์ฌ๋ถ from food_order order by order_id ๐๏ธ ๋ ์ง๋ฅผ ๋น๊ตํ ๋๋ ๋ฐ์ดํ๊ฐ ํ์ํ๋ค. ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๊ฐ์ฅ ๋ง์ ์๋น ์ ๋ณด ์ถ๋ ฅํ๊ธฐ select food_type, rest_id, rest_name, favorites from rest_info where (food_type, favorites) i.. 2023. 6. 28. [MySQL] Programmers Lv.2 ์ ์ฒด ๋ฌธ์ ํ์ด (2023 ์ ๋ฐ์ดํธ!) ์ต๊ทผ ์ถ๊ฐ๋ Programmers์ Lv.2 ๋ฌธ์ ๋ค์ ํ์ด๋ฅผ ์ ๋ฐ์ดํธํ๋ค. ๊ธฐ์กด ๋ฌธ์ ๋ค ํ์ด๋ ๐์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ select * from food_product where price in (select max(price) from food_product) 3์์ ํ์ด๋ ์ฌ์ฑ ํ์ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ select member_id, member_name, gender, date_format(date_of_birth, '%Y-%m-%d') as date_of_birth from member_profile where month(date_of_birth) = '3' and gender = 'W' and tlno is not null order by member_id ์นดํ ๊ณ .. 2023. 6. 27. [MySQL] Programmers Lv.1 ์ ์ฒด ๋ฌธ์ ํ์ด (2023 ์ ๋ฐ์ดํธ!) ์ต๊ทผ Programmers์ ์๋ก์ด SQL ๋ฌธ์ ๋ค์ด ์ถ๊ฐ๋์๊ธธ๋ ํด๋ฆฌ์ด ํด๋ณด๋ ค๊ณ ํ๋ค. ๐ ์ด์ ๋ฌธ์ ๋ค์ ๐์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! ๊ฐ์๋์ ์์นํ ์์ฐ๊ณต์ฅ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ select factory_id, factory_name, address from food_factory where substr(address, 1, 3) = "๊ฐ์๋" # where left(address, 3) = "๊ฐ์๋" # where address like "๊ฐ์๋%" order by factory_id like๊ฐ ๊ฐ์ฅ ํธํ์ง๋ง left, substr ์ฌ์ฉ๋ฒ๋ ์์๋๊ธฐ ! ๊ฒฝ๊ธฐ๋์ ์์นํ ์ํ์ฐฝ๊ณ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ select warehouse_id, warehouse_name, address, if(freezer_yn is null.. 2023. 4. 26. [MySQL] Programmers Lv.4 ์ ์ฒด ๋ฌธ์ ํ์ด ์ฐ์ ์ ์๊ฑฐํธ๊ฐ ๋ด๊ธด ์ฅ๋ฐ๊ตฌ๋ SELECT DISTINCT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk' AND CART_ID IN ( SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') ORDER BY CART_ID ๐ DISTINCT ํค์๋๋ก ์ค๋ณต ์ ๊ฑฐ ๊ฐ๋ฅ ๋ณดํธ์์์ ์ค์ฑํํ ๋๋ฌผ SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAME FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.SEX_UPON_INTAKE != OUTS.SEX_UPON_OUTCOME ORDER B.. 2022. 2. 2. ์ด์ 1 2 ๋ค์