Day 11

select ๋ช…๋ น์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ํ–‰์„ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๋ฐ, limit๊ตฌ๋กœ ๊ฒฐ๊ณผ ํ–‰์„ ์ œํ•œ

์‚ฌ์šฉ๋ฐฉ๋ฒ•

SELECT ํ•„๋“œ FROM ํ…Œ์ด๋ธ” LIMIT ํ–‰์ˆ˜ [OFFSET ์‹œ์ž‘ํ–‰] 

ํ–‰์ˆ˜ ์ œํ•œ

LIMIT ๊ตฌ๋Š” ํ‘œ์ค€์œผ๋กœ ์ •์˜๋œ SQL์ด ์•„๋‹ˆ๋‹ค..! -> mysql, postgresql์—์„œ๋งŒ ์ง€์›ํ•˜๋Š” ๋ฌธ๋ฒ•.. LIMIT ๊ตฌ๋ฅผ ๋ถ™ํžˆ๋Š” ๊ณณ์€ SELECT ๋ช…๋ น์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์œ„์น˜๋Š” WHERE, ORDER BY ๊ตฌ์˜ ๋’ค์— ์ง€์ •

SELECT ํ•„๋“œ FROM ํ…Œ์ด๋ธ” WHERE ์กฐ๊ฑด์‹ ORDER BY ํ•„๋“œ LIMIT ํ–‰์ˆ˜

์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ ํ–‰์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด๋„ limit์„ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ์ˆซ์ž๋งŒํผ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค

img_1.png

limit๋ฅผ ํ†ตํ•ด์„œ ๊ฐ’๋“ค์„ ๋ฝ‘๋Š” ๊ฒƒ์€ ์ •๋ ฌ๊นŒ์ง€ ๋ชจ๋‘ ๋๋งˆ์น˜๊ณ  ๋‚˜์„œ์•ผ ์ง„ํ–‰๋˜๋Š” ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌ์ด ๋˜๊ณ  ๋‚˜์„œ ๊ทธ ์ดํ›„์— ๊ฐ’๋“ค์„ ๊ฐ€์ง€๊ณ  ์ •๋ ฌ์„ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค ๊ทธ๋ž˜์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์ด ์•„๋‹Œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ํ–‰์ˆ˜๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค

img.png ์š”๋ ‡๊ฒŒ no์˜ ํ–‰ ์ค‘์—์„œ ๊ฐ€์žฅ ๋†’์€ no๋ถ€ํ„ฐ 3๊ฐœ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

์•„๊นŒ ๋งํ•œ๋Œ€๋กœ limit๋Š” mysql, postresql์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” ์˜ˆ์•ฝ์–ด์ธ๋ฐ ๋‚ด๊ฐ€ ํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜ค๋ผํด์—์„œ๋Š” ROWNUM์ด๋ผ๋Š” ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

SELECT * FROM sample33 WHERE ROWNUM<=3;

ROWNUM์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋  ๋•Œ ๊ฐ ํ–‰์— ํ• ๋‹น๋˜๋Š” ํ–‰ ๋ฒˆํ˜ธ์ด๋‹ค ํ•˜์ง€๋งŒ where๊ตฌ๋กœ ์ง€์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌํ•˜๊ธฐ ์ „์— ์ฒ˜๋ฆฌ๋˜์„œ limit๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์™€ ๊ฒฐ๊ณผ๊ฐ’์ด

์˜คํ”„์…‹ ์ง€์ •

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์žˆ์–ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” ํ•œ๊บผ๋ฒˆ์— ๋‹ค ๋“ค๊ณ  ์™€์„œ ๋ฟŒ๋ฆฌ๋Š” ๊ฑด ์„ฑ๋Šฅ์ ์œผ๋กœ๋„ ์ •๋ง ์ข‹์ง€ ์•Š๋‹ค ๊ทธ๋ž˜์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ํŽ˜์ด์ง•(paging)์„ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ ์„œ ๊ฐ€์ ธ์˜ค๊ณค ํ•œ๋‹ค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ทธ๋Ÿฌํ•œ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์€ limit์„ ํ†ตํ•ด์„œ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค OFFSET์ด๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ offset์€ select์˜ ์‹œ์ž‘์ (offset ๋ถ€ํ„ฐ)์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค

์˜ˆ์‹œ๋กœ ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€์—์„œ๋Š” 0๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ถ€ํ„ฐ 3๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ ์‹ถ๋‹ค ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ img_2.png ๋‘ ๋ฒˆ์งธ ํŽ˜์ด์ง€์—์„œ๋Š” 3๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ถ€ํ„ฐ 3๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ๋‹ค ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ img_3.png

offset์˜ ๊ธฐ๋ณธ๊ฐ’์€ 0์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘์„ ํ•˜๊ฒŒ ๋œ๋‹ค offset์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š—๋„ค ์žˆ์–ด์„œ ๋ฐฐ์—ด ์ธ๋ฑ์Šค์™€ ๊ฐ™๋‹ค ์ฒซ๋ฒˆ์งธ๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ํ•˜๋‚˜์”ฉ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ตฌ์กฐ์ด๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์ž!

Last updated

Was this helpful?