๋๋ฌด ์ฌ์์ ๊ตณ์ด ๋ธ๋ก๊ทธ์ ์ ์ฌ๋ฆฌ๋ ค๋ค๊ฐ ์ฝ๋๋ง ์ฌ๋ฆฝ๋๋ค.ํ๋ก๊ทธ๋๋จธ์ค > ์ฝ๋ฉํ
์คํธ ์ฐ์ต > SLQ > `SUM, MAX, MIN`์นดํ
๊ณ ๋ฆฌ์ ์๋ ๋ฌธ์ ๋ค์
๋๋ค. ๊ทธ๋ฅ ํ ๋์ ๋ณด๊ณ ๋ฐ๋ก ํ ์ ์๋ 5์ด์ปท ๋ฌธ์ ๋ค์ํ ํฌ์คํ
๋ด์ ์ฌ๋ฌ ๊ฐ ๋ฌถ์ด์ ์ฌ๋ฆฌ๋ ๊ฒ์ด๋ ๊ตฌ์ฒด์ ์ธ ์ค๋ช
์ด ํ์ํ์๊ฑฐ๋ ๊ถ๊ธํ ์ ์ ๋๊ธ๋ก ๋ถํ๋๋ฆฝ๋๋ค.ํ์ธํ๋ ๋๋ก ๋ต ๋๋ฆฝ๋๋ค. 1. ๊ฐ์ฅ ๋น์ผ ์ํ ๊ตฌํ๊ธฐ MAX()SELECT MAX(PRICE) AS MAX_PRICEFROM PRODUCT ํ์ด์ ์ฐ๋ ์ฝ๋SELECT PRICE AS MAX_PRICEFROM PRODUCTORDER BY PRICE DESCLIMIT 1;2. ์ต๋๊ฐ ๊ตฌํ๊ธฐ SELECT MAX(DATETIME)FROM ANIMAL_INS;3. ์ก์ ๋ฌผ๊ณ ๊ธฐ ์ค ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ..
My Tech Blog (ํ๋ก๊ทธ๋๋จธ์ค)
1. ๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ๋ฐฉ์ & ์ ๋ต์ฝ๋SELF JOIN์ผ๋ก ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ๋์ผํ ํ
์ด๋ธ ๋ด์์ ์กฐ์ธํด์ ํ์ด์ฃผ์.ํ๋์ ํ
์ด๋ธ์ ALIAS๋ฅผ ์ค์ ๋ง์น ๋ ๊ฐ์ ํ
์ด๋ธ์ด ์๋ ๊ฒ์ฒ๋ผ ๋ ๋ฒ ์ฐธ์กฐํ๋ ๊ฒ์ด๋ค. ๋ด๊ฐ ์๊ณ ์๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ SELF JOIN ์์๋ ์ง์๋ณ ๋งค๋์ ๋ฅผ ๋ํ๋ธ 1๊ฐ์ ํ
์ด๋ธ์ ์๊ธฐ์์ ๊ณผ ์กฐ์ธํ๋ ๊ฒ์ด๋ค. ๋ ๊ณ์ธต์ฟผ๋ฆฌ์์๋ SELF JOIN์ด ๋ง์ด ์ฐ์ธ๋ค. ์ด ๋ฌธ์ ์์๋ ํ๋์ ํ
์ด๋ธ์ ๋ถ๋ชจ์ ์์ด๋์ ์์์ ์์ด๋, ๊ฐ์ฒด์ ํ์ง(GENOTYPE)์ด ๋ชจ๋ ๋ค์ด ์๋ค. ๋ถ๋ชจ์ ํ
์ด๋ธ์ P๋ก, ์์์ ํ
์ด๋ธ์ ๊ทธ๋ฅ A๋ผ๊ณ ๋ณ์นญ์ ์ค ๋ค ์์ํ
์ด๋ธ์ PARENT_ID์ปฌ๋ผ์ ๋ถ๋ชจ ํ
์ด๋ธ์ ID ๊ฐ์ผ๋ก ์กฐ์ธ ํ๋ค. ๊ทธ ํ WHERE ์ ์ `A.GENOTYPE & P.GENOTYPE ..
1. ๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ๋ฒ & ์ ๋ต์ฝ๋`GENOTYPE`์ ์ด์ง์๋ก ๋ณํํ ๊ฐ์ `๊ฐ ์๋ฆฟ์`๊ฐ `๋ณด์ ํ ํ์ง`์ ๋ํ๋ด๋ฏ๋ก๋นํธ์ฐ์ฐ์ ํด ์ฃผ์ด์ผ ํ๋ ๋ฌธ์ ๋ผ๋ ๊ฑธ ์ ์ ์๋ค ! SELECT COUNT(*) AS COUNTFROM ECOLI_DATA AWHERE 1=1 AND (GENOTYPE & 2) != 2 AND ((GENOTYPE & 4) = 4 OR (GENOTYPE & 1) = 1) ์ด ๋ฌธ์ ๋ WHERE์ ์์ฑํ๊ธฐ๊ฐ ์กฐ๊ธ ์ด๋ ค์ธ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋์ฉ ์ฐจ๊ทผ ์ฐจ๊ทผ ์ค๋ช
์ ํด ๋ณด๊ฒ ๋ค. ๋จผ์ ๋นํธ์ฐ์ฐ์ด๋ ๊ฑธ ๋ชจ๋ฅด๋ฉด ์ดํด๊ฐ ์ด๋ ค์ธ ์ ์๊ธฐ ๋๋ฌธ์ ๋นํธ์ฐ์ฐ ๋จผ์ ์์๋ณด์.๋นํธ์ฐ์ฐ์ด๋?๋นํธ ์ฐ์ฐ์ ์ซ์๋ฅผ ์ด์ง์ ํํ๋ก ๋ณํํ์ฌ ๊ฐ ๋นํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฐ์ฐ์ ์ํํ๋ ๋ฐฉ์์ด๋ค. ํ๋ก๊ทธ..
๐ฆ๋ฌธ์ ์ค๋ช
์ฒ์์๋ ๋ณต์กํ๊ฒ ์๊ฐํด์ ๋ฌธ์ ๋ฅผ ํ์ง ๋ชปํ๋ค. ๋๋ `๋ ํ
์ด๋ธ์ ์กฐ์ธ์ ํด์ผ ํ๋๋ฐ ์กฐ์ธ ์กฐ๊ฑด์ ์ด๋ป๊ฒ ์ฃผ์ง?` ์ด๋ ๊ฒ ์๊ฐ์ ํ๊ณ ๋ฌธ์ ์ ์ ๊ทผํ๋ค. ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ์กฐ์ธ์ ํ ์ ์๋ค.์ด๊ฑด ์๋ธ์ฟผ๋ฆฌ๋ก ํธ๋ ๋ฌธ์ ์๋ค. ๋๋ ์ฒ์์ ์ด ๋ฌธ์ ๊ฐ ์๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ฉํ
์คํธ์ฒ๋ผ ๋๊ปด์ก๋ค. ์๋ํ๋ฉด ๋ด๊ฐ ์ง์ ์ด์ง์ ๊ณ์ฐ์ ํ๋ ๋ก์ง์ ์ง์ผ ํ๋๊ฑด๊ฐ? ๋ผ๋ ์๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.์๋ฆฌ์2561286432168421์ด์ง์110010000 ์ญ์ง์๋ฅผ ์ด์ง์๋ก ๋ฐ๊พธ๋ `BIN(SKILL_CODE)` ํจ์ ์จ์ CODE ์ปฌ๋ผ์ด๋ ๋ง์ถฐ๋ณผ๊น ์๊ฐํ๋๋ฐ ์ด๋ป๊ฒ ํด์ผ ์ข์ ์ง ์ฝ๊ฒ ์๊ฐ์ด ๋์ง ์์๋ค. ๊ทธ ํ์ `SUBSTRING(BIN(SKILL_CODE),?,?)` ์ด๋ฐ ์์ผ๋ก ๊ฐ์ ์๋ผ ์ค์ผ ํ๋ ์๊ฐ๋ ํด ๋ดค..
๐ ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋ง๋ฆฌ ๊ตฌํ๊ธฐ ๊ฐ์ฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋ง๋ฆฌ๋ฅผ ์ ํํ๋ผ๊ณ ํ์ผ๋๊น, ROWNUM์์จ์ผ ํ๋ค. ํ์ง๋ง ROWNUM์ Oracle์๋ง ์๋ ๋ฌธ๋ฒ์ด๊ณ , MySQL์์๋ LIMIT ํค์๋๋ก ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ค. ์ฃผ์ํ ์ , ROWNUM / LIMIT ์ ์๋ธ์ฟผ๋ฆฌ(subquery)์ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค. ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ ์ฐ๋ฉด WHERE์ ์ด SELECT์ ๋ณด๋ค ๋จผ์ ์ํ๋์ด ์ํ๋ ๊ฐ์ด ๋์ค์ง ์๋๋ค. ๊ธธ์ด๊ฐ ํฐ ์์ผ๋ก 10๊ฐ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋๋ฐ, ๊ธธ์ด์ ์๊ด ์์ด ๋๋คํ ๊ฐ 10๊ฐ๊ฐ ์ ํ๋๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ SQL๋ฌธ์ ์คํ์์ ๋๋ฌธ์ด๋ค. SQL์ ์คํ ์์FROM - WHERE(ROWNUM ์คํ) - GROUP BY - HAVING - SELECT - ORDER BY LENGTH๋ฅผ ํฐ ๊ฐ๋ถํฐ ์ ..
์ฌ์ด ๋ฌธ์ ๋ ํ ๋ฒ์ ๋ ์ธ๊ฐ์ฉ ํฌ์คํ
ํ๋ ค๊ณ ํ๋๋ฐ์ด ๋ฌธ์ ๋ ์๊ฐ ํด ๋ณผ ์ฌ์ง๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ํ๋๋ง ์ฌ๋ฆฐ๋ค.๋
ผ๋์ ์ฌ์ง๊ฐ ์๊ณ ๋ง์ ์๋ฌธ์ด ์ ๊ธฐ๋๋ ๋ฌธ์ ์ธ๋ฐ ๊ฐ์ ๊ณ ๋ฏผ์ ํ์ ๋ถ๋ค๊ป ์ด ๋ฌธ์ ์ ๊ด๋ จํด์ ๋ด๊ฐ ์๊ฐํด๋ณด๊ณ ์กฐ์ฌํ ๋ด์ฉ์ ๊ณต์ ๋ฅผ ํด๋ณด๊ณ ์ํ๋ค. ๋ด๊ฐ ๊ถ๊ธํ๋ ์ ์ ์๋ ๋ ๊ฐ์ง์๋ค. - "LENGTH ์ NULL ๋ง ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค"๋ผ๋ ์กฐ๊ฑด์ ์ ํ์ํ ๊ฒ์ธ๊ฐ์?- ์ ํ
์คํธ ์ผ์ด์ค 2๋ง ์คํจ๊ฐ ๋จ๋ ๊ฒ์ธ๊ฐ์? ๋ด์ง 10cm ์ดํ์ธ๋ฐ ์ ์ ๋ต์ฝ๋์์๋ ` ์ด ํฌ์คํ
์ ๋ํด์๋ ์ ์ง๋ฌธ๋ค์ ๋ํด ๋ช
์พํ ํด๋ต์ ํ ๊ฒ์ด๋ค์ฒซ๋ฒ์งธ ์ง๋ฌธ์ ๋ฌธ์ ๋ฅผ ์์ธํ ์ฝ๊ณ ์๊ฐํด๋ณด๋ ๋ต์ ์ฐพ์ ์ ์์๊ณ ๋๋ฒ์งธ ์ง๋ฌธ์ ๋ค๋ฅธ ์ฌ๋์ ์ค๋ช
์ ์ฐธ๊ณ ํ๋ค. ๐ ์์ฑ์ด ์ก์ ์ ๊ตฌํ๊ธฐ LENGTH ์ปฌ๋ผ์ NULL๊ฐ์ด..
๐ ๋ชจ๋ ๋ ์ฝ๋ ์กฐํํ๊ธฐ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 ..