¿¬½À 1.3: °á°ú ¿­ ÁöÁ¤

½ÃÀÛÇϱâ Àü¿¡ ¿¬½À 1.2: Å×À̺íÀÌ ÀÖ´Â SELECT ¹® ÀÛ¼ºÀ» ¿Ï·áÇϽʽÿÀ.

ÀÌ ¿¬½À¿¡¼­´Â Á¶È¸ °á°ú¿¡ Ç¥½ÃÇÒ ¿­À» ÁöÁ¤ÇÕ´Ï´Ù. »óÁ¡ Á÷¿ø¿¡°Ô °í°´ À̸§, °í°´ÀÌ ºô·Á°£ °¢ ºñµð¿ÀÀÇ Á¦¸ñ, °¢ ºñµð¿ÀÀÇ ¹Ý³³ ¿äÀÏÀÌ Ç¥½ÃµÇ¾î¾ß ÇÕ´Ï´Ù. µÎ °³ÀÇ ¿­À» Æ÷ÇÔÇÏ°í ¼¼ ¹øÂ° °á°ú ¿­¿¡ ´ëÇØ CASE Ç¥Çö½ÄÀ» Ãß°¡ÇÑ ÈÄ CASE ¿­ Ç¥Çö½Ä¿¡ º°¸íÀ» ÁöÁ¤ÇÕ´Ï´Ù.

°á°ú ¿­ ¼¼Æ®ÀÇ ¿­ ¼±ÅÃ

°í°´ À̸§°ú ºñµð¿À Á¦¸ñ¿¡ ´ëÇÑ °á°ú ¿­ ¼¼Æ®¿¡ ´ÙÀ½ ¿­À» Ãß°¡ÇÕ´Ï´Ù.

  1. Å×ÀÌºí ºÐÇÒâ¿¡¼­, C(CUSTOMER) Å×À̺í·ÎºÎÅÍ NAME ¼±ÅöõÀ» ¼±ÅÃÇϽʽÿÀ.
  2. µðÀÚÀÎ ºÐÇÒâÀÇ ¿­ ÆäÀÌÁö¿¡ ÀÖ´Â ¿­ ¿­¿¡¼­ ù ¹øÂ° ºó ¼¿À» µÎ ¹ø Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼­ V.TITLEÀ» Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
    SQL ¼Ò½º ºÐÇÒâ¿¡¼­ SQL ¼Ò½º Äڵ忡 ¿­ÀÌ Ãß°¡µË´Ï´Ù.

°á°ú ¿­ ¼¼Æ®¿¡ CASE Ç¥Çö½Ä Ãß°¡

Á¶È¸ °á°ú ¼¼Æ®¿¡ ´ëÇÑ ¼¼ ¹øÂ° ¿­ÀÌ ¿­ Ç¥Çö½ÄÀÇ °á°ú°¡ µË´Ï´Ù. ºñµð¿À »óÁ¡ µ¥ÀÌÅͺ£À̽º´Â ºñµð¿À ¹Ý³³ÀÌ ¿¹Á¤µÈ ³¯Â¥¸¦ DATE Çü½ÄÀ¸·Î ÀúÀåÇÕ´Ï´Ù. DATE Çü½ÄÀº ºñµð¿À ¹Ý³³ÀÌ ¿¹Á¤µÈ ¿äÀÏÀÇ À̸§À» Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿­·Î º¯È¯µÇ¾î¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ÇÔ¼ö´Â ¿äÀÏ¿¡ ÇØ´çÇÏ´Â ³¯Â¥¸¦ Á¤¼ö·Î Ç¥ÇöÇÕ´Ï´Ù. CASE Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ÇÔ¼ö¸¦ Æò°¡Çϰí ÇÔ¼ö¿¡¼­ ¸®ÅÏµÈ Á¤¼ö¸¦ °¢ ¿äÀÏ¿¡ ´ëÇÑ ¹®ÀÚ¿­·Î º¯È¯ÇÕ´Ï´Ù. (¿¹¸¦ µé¾î, Á¶È¸ °á°ú¿¡¼­ 1Àº "ÀÏ¿äÀÏ"·Î º¯°æµË´Ï´Ù.) CASE Ç¥Çö½ÄÀ» ºôµåÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.


  1. µðÀÚÀÎ ºÐÇÒâÀÇ ¿­ ÆäÀÌÁö¿¡ ÀÖ´Â ¿­ ¿­¿¡¼­ ¼¼ ¹øÂ° ¼¿(ù ¹øÂ° ºó ¼¿)À» µÎ ¹ø Ŭ¸¯ÇÏ°í ¸ñ·Ï ³¡¿¡¼­ Ç¥Çö½Ä ºôµå¸¦ Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
    Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç°¡ ¿­¸³´Ï´Ù.
  2. ´Ü¼ø À¯Çü CASE Ç¥Çö½ÄÀ» ÀÛ¼ºÇϽʽÿÀ.
    1. Ç¥Çö½Ä ºô´õ ÆäÀÌÁö¿¡¼­ CASE - °Ë»ö ¶Ç´Â ´Ü¼ø À¯ÇüÀ» Ŭ¸¯ÇÑ ÈÄ ´ÙÀ½À» Ŭ¸¯ÇϽʽÿÀ.
    2. CASE ¿É¼Ç ÆäÀÌÁö¿¡¼­ Simple-When-Clause¸¦ Ŭ¸¯ÇÑ ÈÄ ´ÙÀ½À» Ŭ¸¯ÇϽʽÿÀ.
  3. DAYOFWEEK ÇÔ¼ö¸¦ Ãß°¡ÇϽʽÿÀ.
    1. ´Ü¼ø À¯Çü Case ÆäÀÌÁö¿¡ ÀÖ´Â CASE ¸ñ·Ï¿¡¼­ ÇÔ¼ö Ç¥Çö½Ä ºôµå¸¦ Ŭ¸¯ÇϽʽÿÀ. ÇÔ¼ö Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç°¡ ¿­¸³´Ï´Ù.
    2. ÇÔ¼ö Ä«Å×°í¸® ¼±Åà ¸ñ·Ï¿¡¼­ ³¯Â¥ ¹× ½Ã°£À» Ŭ¸¯ÇϽʽÿÀ.
    3. ÇÔ¼ö ¼±Åà ¸ñ·Ï¿¡¼­ DAYOFWEEK¸¦ Ŭ¸¯ÇϽʽÿÀ.
    4. ÇÔ¼ö ¼­¸í ¼±Åà ¸ñ·Ï¿¡¼­ DAYOFWEEK(DATE) --> INTEGER¸¦ Ŭ¸¯ÇϽʽÿÀ.
      ÇÔ¼ö ¼­¸íÀÌ ÇÔ¼ö¿¡ ÇϳªÀÇ Àμö°¡ ÇÊ¿äÇÔÀ» Ç¥½ÃÇÕ´Ï´Ù.
    5. Àμö Å×À̺íÀÇ °ª ¿­¿¡¼­ ¼¿À» Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼­ R.DATE¸¦ Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
      ÇÔ¼ö Ç¥Çö½Ä ±¸¹®Àº DAYOFWEEK(R.DATE)ÀÔ´Ï´Ù(´ÙÀ½ È­¸é ĸóÀÇ ¼½¼Ç 5 ÂüÁ¶).

      ÇÔ¼ö Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç

    6. ¿Ï·á¸¦ Ŭ¸¯ÇÏ¿© CASE Ç¥Çö½Ä ±¸¼ºÀ¸·Î ¸®ÅÏÇϽʽÿÀ.
      ÀÌÁ¦ ´Ü¼ø À¯Çü Case ÆäÀÌÁöÀÇ ¸Ç À§¿¡ ÀÖ´Â CASE ¸ñ·Ï¿¡ »õ ÇÔ¼ö°¡ Ç¥½ÃµË´Ï´Ù.
  4. 7°³ÀÇ WHEN ÀýÀ» CASE Ç¥Çö½Ä¿¡ Ãß°¡ÇÏ¿©(°¢ ¿äÀÏ¿¡ Çϳª¾¿) DAYOFWEEK ÇÔ¼ö¿¡¼­ ¸®ÅÏµÈ Á¤¼ö¸¦ ¹®ÀÚ¿­·Î º¯È¯ÇϽʽÿÀ. ´ÙÀ½ Ç¥´Â DAYOFWEEK ÇÔ¼ö¿¡¼­ ¸®ÅÏµÈ °¢ °ª¿¡ ÇÊ¿äÇÑ ¹®ÀÚ¿­À» º¸¿©ÁÝ´Ï´Ù.
    DAYOFWEEK °ª °á°ú ¹®ÀÚ¿­
    1 'Sunday'
    2 'Monday'
    3 'Tuesday'
    4 'Wednesday'
    5 'Thursday'
    6 'Friday'
    7 'Saturday'
    1. Å×ÀÌºí¿¡¼­, WHEN ¿À¸¥ÂÊ¿¡ Àִ ǥÇö½Ä ¿­ÀÇ ºó ¼¿À» µÎ ¹ø Ŭ¸¯Çϰí Á¤¼ö 1À» ÀÔ·ÂÇϽʽÿÀ.
      ÀÌ Å×À̺í°ú SQL ºô´õ¿¡ ¿¬°üµÇ´Â ´Ù¸¥ Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÒ ¶§, Ç׸ñÀÌ Àû¿ëµÇµµ·Ï ÇÏ·Á¸é ¼¿¿¡ °ªÀ» ÀÔ·ÂÇÑ ÈÄ Enter¸¦ ´©¸£°Å³ª ÃÊÁ¡À» ´Ù¸¥ ¼¿·Î º¯°æÇϽʽÿÀ.
    2. THEN ¿À¸¥ÂÊ¿¡ ÀÖ´Â °á°ú Ç¥Çö½Ä ¿­ÀÇ ºó ¼¿À» µÎ ¹ø Ŭ¸¯ÇÏ°í ¹®ÀÚ¿­ 'Sunday'¸¦ ÀÔ·ÂÇϽʽÿÀ.
    3. ³ª¸ÓÁö ¿©¼¸ ¿äÀÏ¿¡ ´ëÇØ °¢°¢ WHEN Àý Ãß°¡¸¦ Ŭ¸¯ÇÑ ÈÄ 4a ¹× 4b ´Ü°è¸¦ ¹Ýº¹ÇϽʽÿÀ. ±×·¯¸é Å×À̺íÀÌ ´ÙÀ½ È­¸é ĸó¿Í À¯»çÇÏ°Ô µË´Ï´Ù.

      ¿Ï·áµÈ WHEN Àý Å×À̺í

    4. Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç¸¦ ´ÝÀ¸·Á¸é ¿Ï·á¸¦ Ŭ¸¯ÇϽʽÿÀ.

¿Ï·áµÈ CASE Ç¥Çö½ÄÀÌ µðÀÚÀÎ ºÐÇÒâÀÇ ¿­ ÆäÀÌÁö¿¡ ÀÖ´Â ¿­ Ç¥Çö½Ä ¸ñ·Ï¿¡ Ç¥½ÃµÇ°í SQL ¹® ¼Ò½º¿¡µµ Ç¥½ÃµË´Ï´Ù.

¿­ º°¸í Ãß°¡

customerRentals SQL ¹®¿¡¼­ CASE ¿­ Ç¥Çö½Ä¿¡ ´ëÇÑ ¿­ º°¸íÀ» Ãß°¡ÇÕ´Ï´Ù. SQL ºô´õÀÇ µðÀÚÀÎ ºÐÇÒâ¿¡¼­ ¿­ ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.

  1. µðÀÚÀÎ ºÐÇÒâ¿¡¼­ ¿­ ÅÇÀ» Ŭ¸¯ÇϽʽÿÀ.
  2. CASE ¿­ Ç¥Çö½Ä ¿·¿¡ ÀÖ´Â º°¸í ¿­¿¡¼­ ¼¿À» Ŭ¸¯Çϰí DUEDAY¸¦ ÀÔ·ÂÇϽʽÿÀ.
    SQL ¼Ò½º ºÐÇÒâÀ» º¸¸é CASE Ç¥Çö½Ä ´ÙÀ½¿¡ ¿­ º°¸íÀ¸·Î AS DUEDAY°¡ Ç¥½ÃµÇ¾î ÀÖ½À´Ï´Ù. Á¶È¸¸¦ ½ÇÇàÇÒ °æ¿ì, ÀÌ º°¸íÀº °á°ú Å×ÀÌºí¿¡¼­ ¿­ÀÇ Á¦¸ñÀ¸·Î ³ªÅ¸³³´Ï´Ù.

¿­ ÆäÀÌÁö´Â ´ÙÀ½°ú °°½À´Ï´Ù.

µðÀÚÀÎ ºÐÇÒâ - ¿Ï·áµÈ ¿­ ÆäÀÌÁö

ÀÌÁ¦ ¿¬½À 1.4: °áÇÕ, Á¶È¸ Á¶°Ç ¹× GROUP BY Àý Ãß°¡¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.

»ç¿ë Á¶°Ç | Çǵå¹é
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.