๐Ÿ“Œ๊ณต๋ถ€ ์ด์œ 

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)
1์ฐจ 1.2186
2์ฐจ 0.7367
3์ฐจ 0.7347
4์ฐจ 0.7087
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
2์ฐจ 2.9571
3์ฐจ 2.5749
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

+ Recent posts