๐๊ณต๋ถ ์ด์
SQL ๋ฌธ์ ๋ฅผ ํ๋ WHERE ์ ๋ก ํํฐ๋ง ํ๋ ๊ฒ๊ณผ HAVING์ผ๋ก ํํฐ๋ง ํ๋ ๋ฐ์ ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ ๋๊ฐ ์์๋ค.
๊ทธ๋ผ ์ฑ๋ฅ์ ์ผ๋ก ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น? ํ๋ ๊ถ๊ธ์ฆ์ด ์๊ฒจ ๋น๊ตํด๋ดค๋ค.
๊ณตํต ์กฐ๊ฑด:
์ํ ํ ์ด๋ธ์์ big_category ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ์ฌ ๊ทธ์ค big_category๊ฐ ํจ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ช๊ฐ๊ฐ ๋๋ ์ง๋ฅผ ๊ฒ์
1๏ธโฃ where ๋ก ํํฐ๋ง
select big_category, count(*) as count from product where big_category = 'ํจ์
' group by big_category;

| ์๋ | ์๊ฐ (sec) |
| 2์ฐจ | 0.7367 |
| 3์ฐจ | 0.7347 |
| 5์ฐจ | 0.7136 |
| 6์ฐจ | 0.7106 |
| 7์ฐจ | 0.7136 |
| 8์ฐจ | 0.7108 |
| 9์ฐจ | 0.7134 |
| 10์ฐจ | 0.7434 |
| ํ๊ท (์ต๋, ์ต์ ์ ์ธ) | 0.7221 |
2๏ธโฃ having ์ผ๋ก ํํฐ๋ง
select big_category, count(*) as count from product group by big_category having big_category = 'ํจ์
';

| ์๋ | ์๊ฐ (sec) |
| 1์ฐจ | 2.5869 |
| 4์ฐจ | 2.6327 |
| 5์ฐจ | 2.6746 |
| 6์ฐจ | 2.6225 |
| 7์ฐจ | 2.6927 |
| 8์ฐจ | 2.7847 |
| 9์ฐจ | 2.6508 |
| 10์ฐจ | 2.6002 |
| ํ๊ท (์ต๋, ์ต์ ์ ์ธ) | 2.6556 |
๐ข ๊ฒฐ๊ณผ
Having์ด where๋ณด๋ค ์ฝ 3.7๋ฐฐ ๋ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
โ์
1) ์ฐจ์ด์
where์ ๋ชจ๋ ํ๋๋ฅผ ๋์์ผ๋ก ์กฐ๊ฑด์ ๋์ ์๋ค
having์ group by๋ก ๊ทธ๋ฃนํ ๋์ด์ง ์๋ก์ด ํ ์ด๋ธ์ ์กฐ๊ฑด์ ๋ ์ ์๋ค.
2) ์ฑ๋ฅ ์ฐจ์ด
having์ ๋ชจ๋ ํ์ ์งํฉ์ผ๋ก ๋จผ์ ์ ๋ ฌํ ํ having์ผ๋ก ํํฐ๋ง ์ ์ฉ์ ํ๋ค.
ํ์ง๋ง where ์ ๋ก ๋จผ์ ๋ถํ์ํ ํ์ ๋ฏธ๋ฆฌ ํํฐ๋ง ํ ๊ทธ๋ฃนํ๋ฅผ ํ๊ฒ ๋์ด ๋ด๋ถ ์ ๋ ฌ์ ํ์ํ ํ ์๋ฅผ ์ค์ฌ ํจ์ฌ ํจ์จ์ ์ด๋ค.
๊ฒฐ๋ก :
์ฑ๋ฅ์ ์ผ๋ก having๋ณด๋ค๋ where ์ ์ด ์ ๋ฆฌํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
'Database > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| MySQL] INDEX (0) | 2023.04.04 |
|---|---|
| MySQL ์ค์น (Window ver.) (0) | 2023.03.05 |
