5.OFFSET FETCH

Å×À̺íÀÇ ÀϺΠ·¹Äڵ常 Á¶È¸ÇÏ´Â ÀÛ¾÷Àº ºóµµ°¡ ³ô°í ½Ç¿ëÀûÀÌ´Ù. ÀÌ·¸°Ô ÀÚÁÖ ¾²´Â ¹®¹ýÀÌ DBMS¸¶´Ù ¿ÏÀüÈ÷ ´Ù¸£´Ù´Â °ÍÀº ¾ÈŸ±î¿î ÀÏÀÌ´Ù. °øÅë ¹®¹ýÀÌ ¾ø´Ù º¸´Ï DBMSº°·Î ½ºÅ©¸³Æ®¸¦ µû·Î ÀÛ¼ºÇØ¾ß ÇÏ´Â ºÒÆíÇÔÀÌ ÀÖ¾ú´Ù.

±×·¯³ª ÀÌ·± °ñÄ¡ ¾ÆÇ ¹®Á¦°¡ SQL Ç¥ÁØÀÌ »õ·Î ¸¸µç OFFSET FETCH ¹®¹ý¿¡ ÀÇÇØ µåµð¾î ÇؼҵǾú´Ù. ÀϺκÐÀ» ƯÁ¤ÇÏ·Á¸é ¼ø¼­°¡ ÁöÁ¤µÇ¾î¾ß ÇϹǷΠORDER BY¹®ÀÌ ¹Ýµå½Ã ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡¼­ OFFSET FETCH´Â º°µµÀÇ ±¸¹®ÀÌ ¾Æ´Ï¶ó ORDER BYÀÇ ¿É¼ÇÀÌ´Ù.

 

ORDER BY ±âÁØÇʵå OFFSET °Ç³Ê¶ÛÇà¼ö ROWS FETCH NEXT Ãâ·ÂÇÒÇà¼ö ROWS ONLY

 

SQLÀÌ ¿µ¾î¸¦ ¸ð¹æÇÑ ¾ð¾îÀÌ´Ù º¸´Ï ¿Ü±¹ÀÎ ÀÔÀå¿¡¼­´Â ¸»ÀÌ ºÒÇÊ¿äÇÏ°Ô ±æ¾î º¸ÀδÙ. ROWS´Â ROW¶ó°í ½áµµ µÇ¸ç NEXT´Â FIRST¶ó°í ½áµµ µÈ´Ù. Ç¥ÁØ ÀÛ¾÷ °úÁ¤¿¡ È¥¶õÀÌ ÀÖ¾î µ¿ÀǾ ¸î °³ »ý°å´Ù. ¸éÀû¼øÀ¸·Î »óÀ§ 4°³ÀÇ µµ½Ã¸¦ Ãâ·ÂÇØ º¸ÀÚ.

 

SELECT * FROM tCity ORDER BY area DESC OFFSET 0 ROWS FETCH NEXT 4 ROWS ONLY;

¸éÀû ³»¸²Â÷¼øÀ¸·Î Á¤·ÄÇÑ ÈÄ 4°³ÀÇ Çุ Àоú´Ù. OFFSETÀ» ÁöÁ¤ÇÏ¸é ¾ÕÂÊ ÀϺθ¦ °Ç³Ê¶Û ¼öµµ ÀÖ´Ù. ´ÙÀ½ ¸í·ÉÀº »óÀ§ 2°³¸¦ °Ç³Ê¶Ù°í ´ÙÀ½ ¼øÀ§ÀÎ 3, 4, 5À§ 3°³ÀÇ µµ½Ã¸¦ Á¶»çÇÑ´Ù.

 

SELECT * FROM tCity ORDER BY area DESC OFFSET 2 ROWS FETCH NEXT 3 ROWS ONLY;

 

¿ø·¡ 1, 2À§¿´´ø ȫõ, ÃáõÀº »ç¶óÁö°í 5À§¿´´ø ºÎ»êÀ» Ãß°¡ÇÏ¿´´Ù. Àüü Á¤·Ä °á°ú¼Â¿¡¼­ °¢ ±¸¹®ÀÌ ¾î¶»°Ô Àû¿ëµÇ´ÂÁö È®ÀÎÇØ º¸ÀÚ.

WHERE ±¸¹®°úµµ ÇÔ²² »ç¿ëÇÏ¿© ÇÊÅ͸µÀ» ¸ÕÀú ÇÏ°í ±× Áß ÀϺΠ·¹Äڵ常 Ãâ·ÂÇÒ ¼öµµ ÀÖ´Ù. ¹°·Ð WHERE´Â ORDER BYº¸´Ù ´õ ¾Õ¿¡ ¿Í¾ß ÇÑ´Ù. ´ÙÀ½Àº ±¤¿ª½Ã´Â Á¦¿ÜÇÏ°í ¼øÀ§¸¦ ¸Å°Ü 2µî¿¡¼­ 5µî±îÁö Ãâ·ÂÇÑ´Ù.

 

SELECT * FROM tCity WHERE metro = 'n' ORDER BY area DESC OFFSET 2 ROWS FETCH NEXT 3 ROWS ONLY;

ºÎ»êÀÌ ¸ñ·Ï¿¡¼­ »ç¶óÁö°í ´ë½Å ÀüÁÖ¸¦ Ãß°¡ÇÑ´Ù. ±¸¹®ÀÌ Á» ±ä °ÍÀÌ ÈìÀÌÁö¸¸ ½ÃÀÛ À§Ä¡¿Í °³¼ö¸¦ ÀÚÀ¯·Ó°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ°í Á¶°ÇÀý°ú ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ¾î È°¿ë¼ºÀÌ ³ôÀº ±¸¹®ÀÌ´Ù.

 

ȣȯ¼º üũ

¿À¶óŬ : Á¤·ÄÇÏÁö ¾ÊÀ»½Ã ORDER BY »ý·« °¡´ÉÇÏ¸ç °Ç³Ê¶ÙÁö ¾ÊÀ» ¶§ OFFSET 0 ROWSµµ »ý·« °¡´ÉÇÏ´Ù.

MSSQL : ORDER BY·Î Á¤·ÄÀ» ¹Ýµå½Ã ÇØ¾ß ÇÏ¸ç °Ç³Ê¶ÙÁö ¾Ê´õ¶óµµ OFFSET 0 ROWS°¡ ÀÖ¾î¾ß ÇÑ´Ù.

¸¶¸®¾Æ : ¾ÆÁ÷ ÀÌ ±¸¹®À» Áö¿øÇÏÁö ¾Ê´Â´Ù. ´ë½Å LIMIT°¡ °ÅÀÇ ¶È°°Àº ±â´ÉÀ» ¼öÇàÇÑ´Ù.

¿¬½À ¹®Á¦

19.Á÷¿øÀ» ¿ù±Þ¼øÀ¸·Î Á¤·ÄÇÑ ÈÄ 12À§¿¡¼­ 16À§±îÁö Ãâ·ÂÇ϶ó.