[SQL] select๋ฌธ: where, group, etc

[์›๋ณธ ๋งํฌ]

์‹ค์Šตํ™˜๊ฒฝ์€ MySQL์ด๋‹ค.
์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ๋‚ด์—ญ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.



๋‚ด์žฅํ•จ์ˆ˜

select์—๋Š” ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅํ•จ์ˆ˜๋“ค์ด ๋ช‡๊ฐœ ์žˆ๋‹ค.
count, max, min, sum, avg ๋“ฑ์ด ๊ทธ๊ฒƒ์ด๋‹ค.

count๋Š” ํŠน์ • ์†์„ฑ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

max๋Š” ํŠน์ • ์†์„ฑ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.

min์€ ๊ฐ€์žฅ ์ž‘์€๊ฑธ ๊ฐ€์ ธ์˜จ๋‹ค.

sum์€ ํŠน์ • ์†์„ฑ์˜ ๊ฐ’๋“ค์„ ์ „๋ถ€ ๋”ํ•ด์ค€๋‹ค.

avg๋Š” ๋”ํ•œ ํ‰๊ท ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.



where ์ ˆ: in

์†์„ฑ๋ช… in (...)์˜ ํ˜•ํƒœ๋กœ ์กฐ๊ฑด์‹์„ ๋‹ฌ๋ฉด ๋ฐฐ์—ด (...)์— ๋“ค์–ด์žˆ๋Š” ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋ชจ๋“  ์†์„ฑ์„ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋œ๋‹ค.

์ด๊ฒƒ๋งŒ ํ•ด์„œ๋Š” ๋ญ ๋ณ„๊ฒŒ ์žˆ๋‚˜ ์‹ถ์ง€๋งŒ, ์ด๊ฑธ ์‘์šฉํ•˜๋ฉด select์˜ ์ค‘์ฒฉ์ด ํŽธ๋ฆฌํ•˜๋‹ค.
select์˜ ๋ฐ˜ํ™˜๊ฐ’๋„ ์ผ์ข…์˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๊ธฐ ๋–„๋ฌธ์ด๋‹ค.



select ์ค‘์ฒฉ ์ฟผ๋ฆฌ

select์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋‹ค์‹œ ์กฐ๊ฑด์œผ๋กœ ์‚ผ์•„์„œ ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด in (...)์˜ ์•ˆ์— ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค.

์•„๋ž˜ ์ฟผ๋ฆฌ๋Š” 4ํ•™๋…„์ด ์žˆ๋Š” ํ•™๊ต๋งŒ ์ฐพ์•„์„œ, ๊ทธ ํ•™๊ต์˜ ํŠœํ”Œ์„ ์ „๋ถ€ ์ถœ๋ ฅํ•˜๋Š” ์ค‘์ฒฉ์ฟผ๋ฆฌ๋‹ค.



์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ๋ณ‘ํ•ฉ union

๊ฐ ์ฟผ๋ฆฌ ์‚ฌ์ด์— union์„ ์‚ฌ์šฉํ•˜๋ฉด, ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๊ฐ’์ด ๋ณ‘ํ•ฉ๋˜์–ด ์ถœ๋ ฅ๋œ๋‹ค.
๋‹จ, ์ค‘๋ณต์€ ์ œ๊ฑฐ๋œ๋‹ค.



์ถœ๋ ฅ์‹œ ์†์„ฑ๋ช… ๋ณ€๊ฒฝ as

select ๋’ค์— ์†์„ฑ๋ช…์„ ๋ถ™์ผ ๋•Œ as๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ ฅ๋ ๋•Œ๋งŒ ์†์„ฑ๋ช…์„ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.



๊ทธ๋ฃนํ™”

๊ทธ๋ฃนํ™”๋Š” ์†์„ฑ์˜ ๊ฐ’๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ด๋ธ”์„ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
group by ์ ˆ ๋’ค์— ๋ถ™์ธ ์†์„ฑ์ด ๊ทธ๋ฃน์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค.
๊ฐ€๋ น ์•„๋ž˜์˜ ์ฟผ๋ฆฌ๋Š”, ์ค‘๋ณต๋˜๋Š” school_name ์†์„ฑ๊ฐ’๋“ค๋งˆ๋‹ค avg๋กœ age์˜ ํ‰๊ท ๊ฐ’์„ ๋‚ธ๋‹ค.

๊ทผ๋ฐ ์ €๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ ๋ณด๊ธฐ ์‹ซ์œผ๋‹ˆ๊นŒ, AS๋กœ ๋Œ€์ถฉ ์ด๋ฆ„์„ ๋‹ฌ์•„์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค.


๊ทธ๋ ‡๋‹ค.