๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

Select๋ฌธ ์‚ฌ์šฉ๋ฒ• & ์˜ˆ์ œ

by 5566 2023. 10. 29.

1. Select๋ฌธ ์†Œ๊ฐœ

Select๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” SQL์˜ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ํ…Œ์ด๋ธ”์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ , ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ์ •๋ ฌํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. Select๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹

Select๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

SELECT column1, column2, ...
FROM table_name;

์œ„ ํ˜•์‹์—์„œ column1, column2๋Š” ์กฐํšŒํ•˜๊ณ ์ž ํ•˜๋Š” ํ•„๋“œ(์—ด)์˜ ์ด๋ฆ„์ด๋ฉฐ, table_name์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด๋•Œ *๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Select๋ฌธ์˜ ์กฐ๊ฑด์ ˆ ์‚ฌ์šฉ๋ฒ•

Select๋ฌธ์—์„œ๋Š” WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WHERE ์ ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ธฐ์ˆ ๋ฉ๋‹ˆ๋‹ค.

SELECT column1, column2, ...
FROM table_name
WHERE condition;

condition์€ ํ•„๋“œ ๊ฐ’ ๋น„๊ต๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ, ์ž‘์€๋”ฐ์˜ดํ‘œ('')๋กœ ๊ฐ’์„ ๊ฐ์‹ธ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, age ํ•„๋“œ๊ฐ€ 30 ์ด์ƒ์ธ ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด WHERE age >= 30๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

4. Select๋ฌธ์˜ ์ •๋ ฌ ๊ธฐ๋Šฅ

Select๋ฌธ์—์„œ๋Š” ORDER BY ์ ˆ์„ ์ด์šฉํ•ด ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ORDER BY ์ ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name [ASC|DESC];

column_name์€ ์ •๋ ฌ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉํ•  ํ•„๋“œ(์—ด)์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์˜ต์…˜์œผ๋กœ ASC๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ, DESC๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. Select๋ฌธ์˜ ๊ทธ๋ฃนํ™” ๊ธฐ๋Šฅ

Select๋ฌธ์—์„œ๋Š” GROUP BY ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ํ•„๋“œ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GROUP BY ์ ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

SELECT column1, column2, ...
FROM table_name
GROUP BY column_name;

column_name์€ ๊ทธ๋ฃนํ™”ํ•  ํ•„๋“œ(์—ด)์˜ ์ด๋ฆ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด ํ†ต๊ณ„๋‚˜ ์ง‘๊ณ„ ๋“ฑ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. Select๋ฌธ ์†Œ๊ฐœ

Select๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” SQL์˜ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ํ…Œ์ด๋ธ”์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ , ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ์ •๋ ฌํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ Select๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Select๋ฌธ์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„ ์ž‘์—…์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋ฐ ๊ฐœ๋ฐœ ์ž‘์—…์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์กฐํšŒ์— ์žˆ์–ด์„œ ๋ชฉํ‘œ๋Š” ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Select๋ฌธ์€ ์ด๋ฅผ ์œ„ํ•ด WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WHERE ์ ˆ์€ ํ•„๋“œ ๊ฐ’ ๋น„๊ต๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ, ์ž‘์€๋”ฐ์˜ดํ‘œ('')๋กœ ๊ฐ’์„ ๊ฐ์‹ธ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์กฐ๊ฑด์œผ๋กœ ํ•„ํ„ฐ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ๋ฐ์ดํ„ฐ์˜ ์ •๋ ฌ ์—ญ์‹œ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜์—ฌ ๋ณด๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์‹œ๊ฐํ™” ์ž‘์—…์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. Select๋ฌธ์—์„œ๋Š” ORDER BY ์ ˆ์„ ์ด์šฉํ•ด ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๋ ฌ์˜ ๊ธฐ์ค€์ด ๋˜๋Š” ํ•„๋“œ(์—ด)์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ , ์˜ค๋ฆ„์ฐจ์ˆœ ๋˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์˜ ๊ทธ๋ฃนํ™” ์—ญ์‹œ Select๋ฌธ์—์„œ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŠน์ • ํ•„๋“œ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•˜์—ฌ ํ†ต๊ณ„๋‚˜ ์ง‘๊ณ„๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GROUP BY ์ ˆ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ํ•„๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌถ์–ด ํšจ๊ณผ์ ์ธ ๋ฐ์ดํ„ฐ ์š”์•ฝ ๋ฐ ๋ถ„์„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ Select๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•˜๊ณ , ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ •๋ ฌ๊ณผ ๊ทธ๋ฃนํ™”๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๊ฐ€๊ณต ๋ฐ ๋ถ„์„ ์ž‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์ต์ˆ™ํ•ด์ง€๋ฉด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„ ์ž‘์—…์— ์žˆ์–ด์„œ ๋”์šฑ ํšจ์œจ์ ์ด๊ณ  ํšจ๊ณผ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. Select๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹

Select๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

SELECT column1, column2, ...
FROM table_name;

์œ„ ํ˜•์‹์—์„œ column1, column2๋Š” ์กฐํšŒํ•˜๊ณ ์ž ํ•˜๋Š” ํ•„๋“œ(์—ด)์˜ ์ด๋ฆ„์ด๋ฉฐ, table_name์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด๋•Œ *๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Select๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•  ๋•Œ, ์›ํ•˜๋Š” ์—ด(ํ•„๋“œ)์„ ์ง€์ •ํ•˜์—ฌ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์—ด์˜ ์ด๋ฆ„์„ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋‚˜์—ดํ•˜๊ณ , FROM ๋’ค์— ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. SELECT ๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ, ์ด ๊ธฐ๋ณธ ํ˜•์‹์„ ์ดํ•ดํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์กฐํšŒ ์ž‘์—…์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํ•™์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ 'students'๋ผ๋Š” ํ…Œ์ด๋ธ”์—์„œ 'name'๊ณผ 'age' ์—ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT name, age
FROM students;

์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด 'students' ํ…Œ์ด๋ธ”์—์„œ 'name'๊ณผ 'age' ์—ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, 'students' ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์—ด(ํ•„๋“œ)์„ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT *
FROM students;

์œ„์™€ ๊ฐ™์ด *๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์—ด์„ ์„ ํƒํ•˜๋ฉด 'students' ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ๋Š” ํ•„์š”ํ•œ ์—ด๋“ค๋งŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•„์š”์— ๋งž๊ฒŒ ์—ด์„ ์ง€์ •ํ•˜์—ฌ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ Select๋ฌธ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•œ ์—ด(ํ•„๋“œ)์„ ์„ ํƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ Select๋ฌธ์„ ์ž‘์„ฑํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Select๋ฌธ์˜ ์กฐ๊ฑด์ ˆ ์‚ฌ์šฉ๋ฒ•

Select๋ฌธ์—์„œ ์กฐ๊ฑด์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WHERE ์ ˆ์„ ์ด์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๊ณ , ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ๊ฑด์€ ํŠน์ • ํ•„๋“œ(์—ด)์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ์ฐธ(True) ๋˜๋Š” ๊ฑฐ์ง“(False)์œผ๋กœ ํŒ๋‹จ๋˜๋Š” ์‹์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ํ•„๋“œ์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ๋น„๊ต ์—ฐ์‚ฐ์ž(=, <>, <, <=, >, >=)์™€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž(AND, OR, NOT)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 'students' ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด๊ฐ€ 20 ์ด์ƒ์ธ ํ•™์ƒ๋“ค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT *
FROM students
WHERE age >= 20;

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” WHERE ์ ˆ์—์„œ 'age >= 20'์ด๋ผ๋Š” ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ๋‚˜์ด๊ฐ€ 20 ์ด์ƒ์ธ ํ•™์ƒ๋“ค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ 'age'๋Š” ๋‚˜์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์—ด์˜ ์ด๋ฆ„์ด๋ฉฐ, '>='๋Š” ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๋ฉด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด์„ ์กฐํ•ฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 'students' ํ…Œ์ด๋ธ”์—์„œ ์ด๋ฆ„์ด 'John'์ด๊ณ  ์„ฑ๋ณ„์ด '๋‚จ์ž'์ธ ํ•™์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT *
FROM students
WHERE name = 'John' AND gender = '๋‚จ์ž';

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” WHERE ์ ˆ์—์„œ 'name = 'John''๊ณผ 'gender = '๋‚จ์ž''๋ผ๋Š” ๋‘ ๊ฐœ์˜ ์กฐ๊ฑด์„ AND ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐํ•ฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ๊ตฌ์ฒด์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ Select๋ฌธ์—์„œ ์กฐ๊ฑด์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์กฐ๊ฑด์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜์—ฌ Select๋ฌธ์„ ์ž‘์„ฑํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. Select๋ฌธ์˜ ์ •๋ ฌ ๊ธฐ๋Šฅ

Select๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•  ๋•Œ, ์›ํ•˜๋Š” ์ •๋ ฌ ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ORDER BY ์ ˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ORDER BY ์ ˆ์€ Select๋ฌธ์˜ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•˜๋ฉฐ, ์„ ํƒํ•œ ์—ด(ํ•„๋“œ)์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ(ASC)์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์ง€๋งŒ, ๋‚ด๋ฆผ์ฐจ์ˆœ(DESC)์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” DESC ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 'students' ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT *
FROM students
ORDER BY age ASC;

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ORDER BY ์ ˆ์—์„œ 'age ASC'๋ผ๋Š” ์ •๋ ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ๋‚˜์ด๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ 'ASC'๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‚˜์ด๊ฐ€ ์ž‘์€ ํ•™์ƒ๋ถ€ํ„ฐ ํฐ ํ•™์ƒ ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ASC ๋Œ€์‹  DESC ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 'students' ํ…Œ์ด๋ธ”์—์„œ ์„ฑ์ ์ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT *
FROM students
ORDER BY score DESC;

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ORDER BY ์ ˆ์—์„œ 'score DESC'๋ผ๋Š” ์ •๋ ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ์„ฑ์ ์ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ 'DESC'๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ฑ์ ์ด ๋†’์€ ํ•™์ƒ๋ถ€ํ„ฐ ๋‚ฎ์€ ํ•™์ƒ ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ Select๋ฌธ์—์„œ ORDER BY ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์ •๋ ฌ ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์—ด(ํ•„๋“œ)์„ ์„ ํƒํ•˜๊ณ  ORDER BY ์ ˆ์— ์ ์ ˆํ•œ ์ •๋ ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ Select๋ฌธ์„ ์ž‘์„ฑํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. Select๋ฌธ์˜ ๊ทธ๋ฃนํ™” ๊ธฐ๋Šฅ

Select๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•  ๋•Œ, ํŠน์ • ์—ด(ํ•„๋“œ)์„ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด GROUP BY ์ ˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

GROUP BY ์ ˆ์€ Select๋ฌธ์˜ ๋„์ค‘์— ์œ„์น˜ํ•˜๋ฉฐ, ์„ ํƒํ•œ ์—ด์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฃนํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” ๊ทธ๋ฃน๋ณ„๋กœ ํ•œ ๊ฐœ์˜ ํ–‰์œผ๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. GROUP BY ์ ˆ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ฃผ๋กœ ์ง‘๊ณ„ ํ•จ์ˆ˜๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ฃน๋ณ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 'students' ํ…Œ์ด๋ธ”์—์„œ ์„ฑ๋ณ„ ๋ณ„๋กœ ํ‰๊ท  ๋‚˜์ด๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Select๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT gender, AVG(age) as average_age
FROM students
GROUP BY gender;

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” GROUP BY ์ ˆ์—์„œ 'gender' ์—ด์„ ์„ ํƒํ•˜์—ฌ ์„ฑ๋ณ„ ๋ณ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ SELECT ๋ฌธ์—์„œ AVG ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ฃน ๋ณ„๋กœ ํ‰๊ท  ๋‚˜์ด๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. 'as average_age'๋Š” ๊ณ„์‚ฐ๋œ ํ‰๊ท  ๋‚˜์ด๋ฅผ 'average_age'๋ผ๋Š” ๋ณ„์นญ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฃนํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ๋Š” ๊ฐ ๊ทธ๋ฃน๋ณ„๋กœ ํ•œ ๊ฐœ์˜ ํ–‰์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ์„ฑ๋ณ„ '๋‚จ์ž'์™€ '์—ฌ์ž' ๋‘ ๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ทธ๋ฃนํ™”๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ถœ๋ ฅ๋˜๋Š” ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

gender | average_age
-------|-------------
๋‚จ์ž    | 25
์—ฌ์ž    | 23

์ด์ฒ˜๋Ÿผ Select๋ฌธ์—์„œ GROUP BY ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฃนํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด, ๊ทธ๋ฃน ๋ณ„๋กœ ์›ํ•˜๋Š” ์ง‘๊ณ„ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์—ด์„ ์„ ํƒํ•˜๊ณ  GROUP BY ์ ˆ์— ์ ์ ˆํ•œ ๊ทธ๋ฃนํ™” ๊ธฐ์ค€์„ ์ง€์ •ํ•˜์—ฌ Select๋ฌธ์„ ์ž‘์„ฑํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ๊ทธ๋ฃนํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€