- SELECT ์์ฑ ์ด๋ฆ
- FROM ํ ์ด๋ธ ์ด๋ฆ
- WHERE ์กฐ๊ฑด
- GROUP BY ์์ฑ ์ด๋ฆ
- HAVING ๊ฒ์ ์กฐ๊ฑด
- ORDER BY ์์ฑ ์ด๋ฆ (ASC | DESC)
์ธ๋ถ ๋ธ๋ก๊ทธ ์์ธํ ์ค๋ช
๊ทธ๋ฃน์ row๋ฅผ ๋จ์ผ ๊ฐ์ผ๋ก ์์ฝํ๋ ํจ์ (SELECT๋ฌธ๊ณผ ์ฌ์ฉ)
์ซ์ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ฐํ ๋ ์ ์ฉํ๋ค.
์ง๊ณํจ์ | ๋ฌธ๋ฒ | ์ฌ์ฉ์ |
---|---|---|
SUM ํฉ | SUM(์์ฑ์ด๋ฆ) | SUM(price) |
AVG ํ๊ท | AVG(์์ฑ์ด๋ฆ) | AVG(price) |
COUNT ๊ฐฏ์ | COUNT(์์ฑ์ด๋ฆ) | COUNT(price) |
MAX ์ต๋๊ฐ | MAX(์์ฑ์ด๋ฆ) | MAX(price) |
MIN ์ต์๊ฐ | MIN(์์ฑ์ด๋ฆ) | MIN(price) |
COUNT: ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ชจ๋ ๋ ์ฝ๋์ ๊ฐ์๋ฅผ ์
SUM: ์ซ์ ๊ฐ์ ๋ด๋ Column์ ๋ฐ์ดํฐ ์ด ํฉ์ ๊ณ์ฐ
AVG: ์ซ์ ๊ฐ์ ๋ด๋ Column์ ๋ฐ์ดํฐ ํ๊ท ๊ฐ์ ๊ณ์ฐ
MAX: ํด๋น Column์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ฐํ
MIN: ํด๋น Column์ ๊ฐ์ฅ ์์ ๊ฐ์ ๋ฐํ
DISTINCT : ์ค๋ณต ์ ๊ฑฐ
- COUNT (DISTINCT ์์ฑ๋ช )
- COUNT์ ํจ๊ป ์ฌ์ฉํ๋ฉฐ NULL๊ฐ์ ์ธ์ง ์๋๋ค.
์ข ๋ฅ | ๋ฌธ๋ฒ | ์์ |
---|---|---|
๋น๊ต | =, <=, >=, != ๋ฑ๋ฑ | |
๋ฒ์ | BETWEEN | ( price BETWEEN 10000 AND 20000 ) |
์งํฉ | IN, NOT IN | (price IN (10000,20000,30000) |
ํจํด | LIKE | (bookname LIKE '์ถ๊ตฌ์ ์ญ์ฌ') |
NULL | IS NULL, IS NOT NULL | (price IS NULL) |
๋ณตํฉ์กฐ๊ฑด | AND, OR, NOT | (price < 20000) AND (bookname LIKE '์ถ๊ตฌ์ ์ญ์ฌ') |
๋ฌธ์์ด ๋น๊ต, WHERE ๊ตฌ๋ฌธ ์์ ์์น
์์ผ๋ ๋ฌธ์ | ์๋ฏธ | ์ฌ์ฉ์ |
---|---|---|
+ | ๋ฌธ์์ด์ ์ฐ๊ฒฐ | (' ๊ณจํ' + '๋ฐ์ด๋ธ' : '๊ณจํ ๋ฐ์ด๋ธ') |
% | 0๊ฐ ์ด์์ ๋ฌธ์์ด๊ณผ ์ผ์น | ('%์ถ๊ตฌ%' : ์ถ๊ตฌ๋ฅผ ํฌํจํ๋ ๋ฌธ์์ด) |
_ | ํน์ ์์น์ 1๊ฐ์ ๋ฌธ์์ ์ผ์น | '_๊ตฌ%' : ๋ ๋ฒ์งธ ์์น์ '๊ตฌ'๊ฐ ๋ค์ด๊ฐ๋ ๋ฌธ์์ด |
SQL์์ ์ ํ๋ณ๋ก ๊ฐฏ์๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋, ๋จ์ํ COUNT ํจ์๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ฉด ์ ์ฒด ๊ฐฏ์๋ฐ์ ๊ฐ์ ธ์ค์ง ๋ชปํ๋ค. ๋๋ฌธ์ ์ ํ๋ณ๋ก ๊ฐฏ์๋ฅผ ์๊ณ ์ถ์ ๋๋ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํ ํ ์ ์๋ GROUP BY๋ฅผ ์ฌ์ฉํ๋ค.
- GROUP BY : ํน์ ์ปฌ๋ผ์ ๊ทธ๋ฃนํ
- HAVING : ํน์ ์ปฌ๋ผ์ ๊ทธ๋ฃนํํ ๊ฒฐ๊ณผ์ ์กฐ๊ฑด์ ๊ฑด๋ค
GROUP BY ์ฐธ๊ณ - ํ์ฅํ ๋ ์ ์ฅ์
๋ฐ์ดํฐ๋ฅผ ๋ด๋ฆผ์ฐจ์์ด๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด ์ถ๋ ฅํ๋ค.
- ASC ์ค๋ฆ์ฐจ์ (Default ๊ฐ์ด๋ฏ๋ก ์๋ต ๊ฐ๋ฅํ๋ค.)
- DESC ๋ด๋ฆผ์ฐจ์