7.6. LIMIT¿Í OFFSET

LIMIT¹× OFFSET¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î, Äõ¸®ÀÇ ½ÇÇàÀ¸·Î »ý¼ºµÈ ÇàÀÇ ÀϺθ¸À» ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

SELECT 
select_list

    FROM 
table_expression

    [ ORDER BY 
sort_expression1
 [ASC | DESC] [, 
sort_expression2
 [ASC | DESC] ...] ]
    [ LIMIT { 
number
 | ALL } ] [ OFFSET 
number
 ]

Çѵµ¼ö¸¦ ÁöÁ¤Çϸé, ÁöÁ¤ÇÑ Çà¼öº¸´Ù ¸¹Àº ÇàÀÌ µ¹·ÁÁÖ¾îÁú °ÍÀº ¾ø½À´Ï´Ù(±×·¯³ª, Äõ¸®ÀÇ °á°ú¿¡ ÀÇÇØ, ÁöÁ¤º¸´Ù ÀûÀº °ÍÀº ÀÖ½À´Ï´Ù). LIMIT ALL´Â, LIMIT±¸¸¦ »ý·« ÇßÀ» °æ¿ì¿Í °°½À´Ï´Ù.

OFFSET´Â, µ¹·ÁÁÖ´Â ÇàÀÇ °³½Ã À§Ä¡¸¦ ³¯¸®´Â Çà¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. OFFSET 0Àº, OFFSET±¸¸¦ »ý·« ÇßÀ» °æ¿ì¿Í °°½À´Ï´Ù. OFFSET¹×LIMITÀÇ ¾çÀÚ°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, OFFSETÀÇÇàÀ» ³¯¸®°í ³ª¼­, µ¹·ÁÁÖ¾îÁö´Â LIMITÇàÀ» ¼¼±â ½ÃÀÛÇÕ´Ï´Ù.

LIMIT¸¦ »ç¿ëÇÒ ¶§´Â, °á°úÀÇ ÇàÀ» ÀÏÀÇÀÎ ¼ø¼­¿¡ Á¦¾àÇÏ´Â ORDER BY±¸¸¦ »ç¿ëÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. ORDER BY¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é, ¿¹ÃøÇÒ ¼ö ¾ø´Â Äõ¸®ÀÇ ÇàÀÇ ºÎºÐ ÁýÇÕÀ» ¾ò°Ô µÇ°ÚÁö¿ä. 10¹øÂ°¿¡¼­ 20¹øÂ°ÀÇ ÇàÀ» Äõ¸®ÇÏ´Â Àϵµ ÀÖ°ÚÁö¸¸, 10¹øÂ°¿¡¼­ 20¹øÂ°¶ó°í ÇÏ´Â °ÍÀº, ¾î¶°ÇÑ ¼ø¼­·Î ³ª¶õÇØÁö°í ÀÖ´ø °ÍÀԴϱî? ORDER BY¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, ÁÙ ¼ø¼­´Â ¸ð¸¨´Ï´Ù.

Äõ¸® ÃÖÀûÈ­´Â, Äõ¸® °èȹÀ» »ý¼ºÇÒ ¶§¿¡ LIMIT¸¦ °í·ÁÇÕ´Ï´Ù. µû¶ó¼­, LIMIT¿Í OFFSET·Î ÁöÁ¤ÇÑ °ª¿¡ ÀÇÇØ, (ÇàÀÇ ¼ø¼­°¡ ´Ù¸£´Ù) ´Ù¸¥ °èȹÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ¿Í °°ÀÌ, 1°³ÀÇ Äõ¸® °á°ú·ÎºÎÅÍ ´Ù¸¥ ºÎºÐ ÁýÇÕÀ» °ñ¶ó³»±â À§Çؼ­, ´Ù¸¥ LIMIT/OFFSETÀÇ °ªÀ» »ç¿ëÇϸé, ORDER BY·Î °á°úÀÇ ¼ø¼­¸¦ Á¦¾àÇÏÁö ¾Ê´Â ÇÑ, ¸ð¼øµÈ °á°ú°¡ »ý±â°ÚÁö¿ä . À̰ÍÀº ºÒÆíÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. ORDER BY¸¦ »ç¿ëÇØ ¼ø¼­¸¦ Á¦¾àÇÏÁö ¾Ê´Â ÇÑ, SQL´Â ¹Ýµå½Ã ƯÁ¤ÀÇ ¼ø¼­·Î Äõ¸®ÀÇ °á°ú¸¦ °Ç³×ÁÖÁö ¾Ê´Â´Ù´Â Ư¼ºÀÇ ÇÊ¿¬ÀûÀÎ °á°úÀÔ´Ï´Ù.

OFFSET±¸·Î ³Ñ¾î°¡´Â ÇàÀº, ½ÇÁ¦·Î´Â ¼­¹ö ³»¿¡¼­ °è»êµË´Ï´Ù. ±× ¶§¹®¿¡, Å« °ªÀÇ OFFSET´Â ºñÈ¿À²ÀûÀÌ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.