MySQL์์ ๊ตฌ๋ฌธ์ด ์คํ๋๋ ์์๊ฐ ๊ถ๊ธํ์ ์ ์ค์ จ๊ตฐ์!
์ ๋ต์ ๊ธ ์ ๋ชฉ์ ์์ต๋๋ค.
1. FROM : ํ ์ด๋ธ์ ๊ฐ์ ธ์ต๋๋ค. Join์ ํตํด ์ฌ๋ฌ๊ฐ ํ ์ด๋ธ ๊ฐ์ ธ์ฌ ์ ์์
2. WHERE : ๊ฐ์ ธ์จ ํ ์ด๋ธ ๊ฐ๋ค์ ์กฐ๊ฑด์ ๊ฑธ์ด ํด๋น ํ๋ ๊ฐ๋ง ์ถ์ถํฉ๋๋ค. 'and', 'or' ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ์กฐ๊ฑด์ ์ถ๊ฐํ ์ ์์
3. GROUP BY : ๋์ผํ ๊ฐ๋ค์ ๋ํด์ ๋ฌถ์ด ๊ทธ๋ฃน์ ๋ง๋ญ๋๋ค.
4. HAVING : ๋ฐ๋์ Group by์ ํจ๊ป ์ฌ์ฉ๋๊ณ , ์กฐ๊ฑด์ ๋ง๋ ๊ทธ๋ฃน์ ๋ํด์ ์ถ์ถํฉ๋๋ค.
------------------------------------------------------------------------------
5. SELECT : ์ ๊ณผ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
6. ORDER BY : Select๋ก๋ถํฐ ์ถ๋ ฅ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํฉ๋๋ค. ์๋ฐํ๊ฒ select์์ ์ฌ์ฉํ๋ alias(๋ณ๋ช )์ order by์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
๐คฉ ๊น์ง ํด์ฆ
๋ค์ ์ปฌ๋ผ์ ๊ฐ์ง๋ ํ ์ด๋ธ ecoli_data๊ฐ ์์ ๋,
Column Name | Type | Nullable |
ID | INTEGER | FALSE |
PARENT_ID | INTEGER | TRUE |
SIZE_OF_COLONY | INTEGER | FALSE |
DIFFERENTIATION_DATE | DATE | FALSE |
GENOTYPE | INTEGER | FALSE |
์๋ MySQL๋ฌธ์ ๋ฌธ์ ๊ฐ ์์๊น์? (ํํธ group by ์์ ์ฌ์ฉํ๋ select alias)
SELECT Quarter(differentiation_date) quarter, count(*)
FROM ecoli_data
GROUP BY quarter
ORDER BY 1;
group by์์ select์ alias(๋ณ๋ช )์ ์ฌ์ฉํด์ ๊ทธ๋ฃน์ ๋ฌถ๊ณ ์์ฃ ?
๊ทธ๋ผ ์๋ฌ๋๊ฒ ๋ค~
ํ์ง๋ง!!!
MySQL์์ ์์ธ์ ์ผ๋ก group by์์ select์ alias๋ฅผ ์ฌ์ฉํ ์ ์๋๋กํด์ค๋๋ค!
๊ธฐ์ตํ๊ณ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๊ธฐ~