7.5. ÇàÀÇ Á¤·Ä

Äõ¸®°¡ 1°³ÀÇ Ãâ·Â Å×À̺íÀ» »ý¼ºÇÑ ÈÄ(¼±Åà ¸®½ºÆ®ÀÇ Ã³¸®°¡ ¿Ï·áÇÑ ÈÄ), Á¤·ÄÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Á¤·ÄÀÌ ¼±ÅõÇÁö ¾Ê¾Ò´ø °æ¿ì, ÇàÀº ºÒ±ÔÄ¢ÇÏ°Ô ¼ø¼­·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¯ÇÑ °æ¿ì, ½ÇÁ¦ÀÇ ¼ø¼­´Â, °Ë»öÀ̳ª °áÇÕ °èȹÀÇ Á¾·ù³ª, µð½ºÅ©»ó¿¡ ÀúÀåµÈ ¼ø¼­¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ±×·¯³ª, ¿¹»ó´ë·Î µÇÁö ¾Ê½À´Ï´Ù. ƯÁ¤ÀÇ ¼ø¼­·Î Ãâ·ÂÇÏ´Â °ÍÀº, ¸í¹éÇÏ°Ô Á¤·ÄÀ» ¼±ÅÃÇÏ´Â °ÍÀ¸·Î º¸ÁõµË´Ï´Ù.

ORDER BY±¸´Â Á¤·Ä Â÷·Ê¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

SELECT 
select_list

    FROM 
table_expression

    ORDER BY 
sort_expression1
 [ASC | DESC] [, 
sort_expression2
 [ASC | DESC] ...]

Á¤·Ä½ÄÀº Äõ¸®ÀÇ ¼±Åà ¸®½ºÆ®³»¿¡¼­ À¯È¿ÇÑ ÀÓÀÇÀÇ ½ÄÀ» ÃëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

SELECT a, b FROM table1 ORDER BY a + b, c;

º¹¼öÀÇ ½ÄÀÌ ÁöÁ¤µÇ¾úÀ» °æ¿ì, ÀüÀÇ °ª°ú °°Àº °ªÀ» °¡Áö´Â ÇàÀ» Á¤·Ä ÇÒ ¶§¿¡ ÈÄÀÇ °ªÀÌ »ç¿ëµË´Ï´Ù. ¿­ÁöÁ¤ÀÇ µÚ¿¡ »ý·« °¡´ÉÇÑ ASC ȤÀº DESC¸¦ ºÎ¿©ÇÏ´Â °ÍÀ¸·Î, ÁÙ¼­ ¹Ù²Ù°íÀÇ ¹æÇâÀ» ¿À¸§Â÷¼ø, ³»¸²Â÷¼øÀ¸·Î ÇÏ´ÂÁö¸¦ ¼³Á¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ASC¼ø¼­°¡ ±âº»°ªÀÔ´Ï´Ù. ¿À¸§Â÷¼ø¿¡¼­´Â, ÀÛÀº °ªÀ» ¸ÕÀú Ãâ·ÂÇÕ´Ï´Ù. ¿©±â¼­ÀÇ "ÀÛÀº"À̶õ, <¿¬»êÀÚ¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù. ºñ½ÁÇϰÔ, ³»¸²Â÷¼ø¿¡¼­´Â >¿¬»êÀÚ·Î °áÁ¤µË´Ï´Ù. [1]

Ç¥ÁØÀÇ SQL92ÆÇ°úÀÇ ÈĹæ ȣȯ¼ºÀ» À§Çؼ­, sort_expression ´Â ÀÌÇÏ¿Í °°ÀÌ, Ãâ·Â¿­ÀÇ À̸§À̳ª ¹øÈ£¿¡ ´ë½Å ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

SELECT a + b AS sum, c FROM table1 ORDER BY sum;
SELECT a, max(b) FROM table1 GROUP BY a ORDER BY 1;

¾çÂÊ ¸ðµÎ ÃÖÃÊÀÇ Ãâ·Â¿­·Î Á¤·Ä µË´Ï´Ù. Ãâ·Â·Ä¸íÀÌ ´Üü°¡ ¾Æ´Ï¸é ¾ÈµÇ¾î, ½ÄÀÇ ÀϺο¡´Â »ç¿ëÇÒ ¼ö ¾ø´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¸é, ÀÌÇÏ´Â ½Ç¼öÀÔ´Ï´Ù.

SELECT a + b AS sum, c FROM table1 ORDER BY sum + c;          -- wrong

À̰ÍÀº ´ÙÀǼºÀ» ÁÙÀ̱â À§ÇÑ Á¦ÇÑÀÔ´Ï´Ù. ORDER BYÇ׸ñÀÌ ´Ü¼øÇÑ À̸§À̾, Ãâ·Â·Ä¸í°ú Å×À̺í½Ä¿¡ ÀÇÇÑ ¿­°ú °°Àº À̸§ÀÌ µÇ´Â °æ¿ì, ´ÙÀǼºÀº ¾ÆÁ÷ Á¸ÀçÇÕ´Ï´Ù. ÀÌ °æ¿ì, Ãâ·Â·Ä¸íÀÌ »ç¿ëµË´Ï´Ù. AS¸¦ »ç¿ëÇØ ´Ù¸¥ Å×ÀÌºí¿­ÀÇ À̸§°ú °°Àº À̸§¿¡ Ãâ·Â¿­À» °¡¸íÀ¸·Î »ç¿ë ÇßÀ» °æ¿ì¿¡°Ô¸¸ È¥¶õÀÌ ¹ß»ýÇÕ´Ï´Ù.

ORDER BY¸¦, UNION, INTERSECT, EXCEPTÁ¶ÇÕÀÇ °á°ú¿¡ Àû¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ °æ¿ì, Ãâ·Â¿­ÀÇ À̸§ ¶Ç´Â ¹øÈ£¿¡¼­¸¸ Á¤·Ä ÇÒ ¼ö°¡ ÀÖ¾î ½Ä¿¡¼­´Â Á¤·Ä ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù.

Notes

[1]

½ÇÁ¦, PostgreSQL´Â, ASC¿Í DESCÀÇ Á¤·Ä¼ø¼­¸¦ °áÁ¤Çϱâ À§Çؼ­, ½ÄÀÇ µ¥ÀÌÅÍÇü¿ëÀÇ ±âº»°ªÀÇ B-tree ¿¬»êÀÚ Å¬·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù. °ü½ÀÀûÀ¸·Î, µ¥ÀÌÅÍÇüÀº <¿Í >¿¬»êÀÚ¸¦ ÀÌ Á¤·Ä¼ø¼­°¡ µÇµµ·Ï ¼³Á¤µË´Ï´Ù. ±×·¯³ª, »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍÇüÀÇ ¼³°èÀÚ´Â ´Ù¸¥ °ÍÀ» ¼±ÅÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.