๐ 1. ๋ฌธ์ ์ค๋ช
๐ก 2. ์ ๊ทผ๋ฐฉ์FILE_PATH ์ถ๋ ฅ ์์๋ฅผ ๋ณด๊ณ '/home/grep/src/' + F.BOARD_ID + '/' + F.FILE_ID + F.FILE_NAME + F.FILE_EXT์ด๋ ๊ฒ ๋ฌธ์์ด์ด ๊ฒฐํฉ๋ ๊ตฌ์กฐ๋ผ๋ ๊ฑธ ์ ์ ์์๋ค. CONCAT์ผ๋ก ํด๋น ๋ฌธ์์ด์ ๋ชจ๋ ๊ฒฐํฉ ํด ์ค๋ค. ์ฒ์์๋ ํท๊ฐ๋ ค์ + ์ฐ์ฐ์๋ก ํ๋๋ฐ ,๋ก ๊ฒฐํฉ์ ํด ์ค์ผ ํ๋ค. ๋ ํ
์ด๋ธ ์กฐ์ธํ ๋๋ BOARD_ID ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์กฐ์ธ ํด ์ค๋ค. WHERE ์ ์์ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด๋ค. ๋จผ์ USED_GOODS_BOARD๋ฅผ ์กฐํ์ ์ปฌ๋ผ(VIEW) ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ํด ์ฃผ๊ณ ๊ทธ ์ค ๊ฐ์ฅ ๋์ ๊ฒ๋ง ๊ฐ์ ธ์์ผ ํ๋๊น LIMIT1 ์ ๊ฑธ์ด์ค๋ค. ๋ง์ง๋ง์ผ๋ก FILE_ID๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ฉด ๋~! ์ฝ๋คโญ 3. ์ ๋ต์ฝ๋..
My Tech Blog (์ฟผ๋ฆฌ)
1. ๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ๋ฐฉ์ ๋จผ์ FISH_INFO ํ
์ด๋ธ์ด๋ FISH_NAME_INFO ํ
์ด๋ธ์ FISH_TYPE ์ปฌ๋ผ์ผ๋ก ์กฐ์ธ ํด ์ค๋ค. ๊ทธ๋ฆฌ๊ณ FISH_NAME์ผ๋ก GROUP BY ํด ์ฃผ๊ณ , LENGTH์ MAX ๊ฐ์ ๊ตฌํด์ฃผ๋ฉด ๋๋ค๊ณ ์๊ฐ ํ๋ค. ๐
๐ปโ๏ธ์ฒซ๋ฒ์งธ ์๋(์คํจ) ์ผ๋จ ์ด๊ฒ ๋ด๊ฐ ์ฒ์์ ์๊ฐํ๋ ์ฟผ๋ฆฌ์ด๋ค. ๋ฐ๋ก ๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ๋ด๋ค. GROUP BY์ ์ ์ง๊ณ๋์ง ์์ ์ปฌ๋ผ A.ID๊ฐ ์๋ค๊ณ ํ๋ ์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ๋ด๋ค. ํ์ฌ GROUP BY ์ ์ B.FISH_NAME๋ง ์๊ณ , A.ID๋ GROUP BY์ ํฌํจ๋์ง ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค. ORDER BY์ A.ID๋ฅผ ์ฌ์ฉํ ๋, ๊ทธ ์ด์ด GROUP BY ์ ์ ํฌํจ๋์ด ์์ง ์์ผ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์๊ธฐ์น ์๊ฒ ๋ํ๋ ์ ์๋ค๊ณ ํ๋ค. ๊ทธ๋์ GROUP..
1. ๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ๋ฐฉ์ & ์ ๋ต์ฝ๋SELF JOIN์ผ๋ก ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ๋์ผํ ํ
์ด๋ธ ๋ด์์ ์กฐ์ธํด์ ํ์ด์ฃผ์.ํ๋์ ํ
์ด๋ธ์ ALIAS๋ฅผ ์ค์ ๋ง์น ๋ ๊ฐ์ ํ
์ด๋ธ์ด ์๋ ๊ฒ์ฒ๋ผ ๋ ๋ฒ ์ฐธ์กฐํ๋ ๊ฒ์ด๋ค. ๋ด๊ฐ ์๊ณ ์๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ SELF JOIN ์์๋ ์ง์๋ณ ๋งค๋์ ๋ฅผ ๋ํ๋ธ 1๊ฐ์ ํ
์ด๋ธ์ ์๊ธฐ์์ ๊ณผ ์กฐ์ธํ๋ ๊ฒ์ด๋ค. ๋ ๊ณ์ธต์ฟผ๋ฆฌ์์๋ SELF JOIN์ด ๋ง์ด ์ฐ์ธ๋ค. ์ด ๋ฌธ์ ์์๋ ํ๋์ ํ
์ด๋ธ์ ๋ถ๋ชจ์ ์์ด๋์ ์์์ ์์ด๋, ๊ฐ์ฒด์ ํ์ง(GENOTYPE)์ด ๋ชจ๋ ๋ค์ด ์๋ค. ๋ถ๋ชจ์ ํ
์ด๋ธ์ P๋ก, ์์์ ํ
์ด๋ธ์ ๊ทธ๋ฅ A๋ผ๊ณ ๋ณ์นญ์ ์ค ๋ค ์์ํ
์ด๋ธ์ PARENT_ID์ปฌ๋ผ์ ๋ถ๋ชจ ํ
์ด๋ธ์ ID ๊ฐ์ผ๋ก ์กฐ์ธ ํ๋ค. ๊ทธ ํ WHERE ์ ์ `A.GENOTYPE & P.GENOTYPE ..
๐ ๋ชจ๋ ๋ ์ฝ๋ ์กฐํํ๊ธฐ10์ด์ปท ๋ฌธ์ SELECT *FROM ANIMAL_INSORDER BY ANIMAL_ID; ๐ฆ ์กฐ๊ฑด์ ๋ง๋ ํ์์ ๊ตฌํ๊ธฐSELECT COUNT(*)FROM USER_INFOWHERE YEAR(JOINED) = '2021' AND AGE BETWEEN 20 AND 29;๐ป Python ๊ฐ๋ฐ์ ์ฐพ๊ธฐ ๋ณดํต ์ฉ์ด๋ณด๋ค์ด ํธ๋ ๋ฐฉ๋ฒSELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPER_INFOSWHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python'ORDER BY ID; ํ ๋ฒ ์๊ฐ ํด ๋ณด๊ณ ํ๋ฉด ์ด๋ ๊ฒ ใ
ใ
ใ
SELECT ID, EMAIL, FIRST_NAME, L..
๐์กฐ๊ฑด์ ๋ง๋ ๋์ ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ ์๋๋ ์ ๋ต์ฒ๋ฆฌ ๋๋ ๋ชจ๋ ๋์ผํ ์ฝ๋์ด๋ค BETWEEN ์ฐ์ฐ์๋ก ํ๊ธฐSELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOKWHERE PUBLISHED_DATE BETWEEN '20210101' AND '20211231' AND CATEGORY LIKE '์ธ๋ฌธ'ORDER BY PUBLISHED_DATE; โญโญโญYEAR() ํจ์๋ก ํ๊ธฐ (์ ์ผ ๊ฐ๋จํ ์ฝ๋)SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOKWHERE YEAR(PUBLISHED_DATE) = 2021 ..
๐ฆ ์ธ๊ธฐ ์๋ ์์ด์คํฌ๋ฆผ ๋๋ฌด ์ฌ์์ ์ค๋ช
ํ ๊ฒ๋ ์๋ค...SELECT FLAVORFROM FIRST_HALFORDER BY TOTAL_ORDER DESC, SHIPMENT_ID; ๐ญ ๊ฐ์๋์ ์์นํ ์์ฐ๊ณต์ฅ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐSELECT FACTORY_ID, FACTORY_NAME, ADDRESSFROM FOOD_FACTORYWHERE ADDRESS LIKE '๊ฐ์๋%'ORDER BY FACTORY_ID;๐ฉ๐ป๐ง๐ป๐ง๐ป 12์ธ ์ดํ์ธ ์ฌ์ ํ์ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO,'NONE') AS TLNOFROM PATIENTWHERE AGE * SELECT์ ์ ํจ์ ์ํํ๋ฉด ์ปฌ๋ผ๋ช
์ด ํจ์๋ช
์ผ๋ก ๋์ค๋ฏ๋ก ALIAS ๋ถ์ฌ์ฃผ๋๊ฑฐ..
1. ๋ฌธ์ ์ค๋ช
๋ค์์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_BOARD ํ
์ด๋ธ๊ณผ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ฒจ๋ถํ์ผ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_REPLY ํ
์ด๋ธ์
๋๋ค. USED_GOODS_BOARD ํ
์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ๋ด์ฉ, ๊ฐ๊ฒฉ, ์์ฑ์ผ, ๊ฑฐ๋์ํ, ์กฐํ์๋ฅผ ์๋ฏธํฉ๋๋ค. USED_GOODS_REPLY ํ
์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ REPLY_ID, BOARD_ID, WRITER_ID, CONTENTS, CREATED_DATE๋ ๊ฐ๊ฐ ๋๊ธ ID, ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๋๊ธ ๋ด์ฉ, ์์ฑ์ผ์ ์๋ฏธํฉ๋๋ค. 2. ๋ฌธ์ ํ์ด ..
์ฟผ๋ฆฌ1SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE),2) AS SCOREFROM REST_INFO A INNER JOIN REST_REVIEW B ON A.REST_ID = B.REST_IDGROUP BY B.REST_IDHAVING A.ADDRESS LIKE '์์ธ%'ORDER BY SCORE DESC, A.FAVORITES DESC ์ฟผ๋ฆฌ 2SELECT A.REST_ID, B.REST_NAME, B.FOOD_TYPE, B.FAVORITES, B.ADDRESS, ROUND(AVG(A.REVIEW_SCORE),2) AS SCOREFROM REST_REVIEW AJOIN REST_INFO..