¿¬½À 1.4: °áÇÕ, Á¶È¸ Á¶°Ç ¹× GROUP BY Àý Ãß°¡

½ÃÀÛÇϱâ Àü¿¡ ¿¬½À 1.3: °á°ú ¿­ ÁöÁ¤À» ¿Ï·áÇϽʽÿÀ.

ÀÌ ¿¬½À¿¡¼­ ´ÙÀ½ ´Ü°è¸¦ ¼öÇàÇÏ¿© Á¶È¸¸¦ ±ÔÁ¤ÇÕ´Ï´Ù.

Å×ÀÌºí °áÇÕ

°áÇÕ Á¶ÀÛÀº ÀÏÄ¡ÇÏ´Â ¿­ °ªÀ» ±âÃÊ·Î µÎ °³ ÀÌ»óÀÇ Å×ÀÌºí¿¡¼­ µ¥ÀÌÅ͸¦ °Ë»öÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. Å×À̺íÀÇ µ¥ÀÌÅÍ´Â ´ÜÀÏ °á°ú¿¡ ¸µÅ©µË´Ï´Ù. ÀÌ Á¶È¸¿¡´Â µÎ °³ÀÇ °áÇÕÀÌ ÇÊ¿äÇÕ´Ï´Ù. Á¶È¸ °á°ú¿¡´Â ÀÏÄ¡ÇÏ´Â CUST_ID ¿­ °ªÀ» °®´Â RENTALS ¹× CUSTOMERS Å×À̺í Ç׸ñÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. Á¶È¸ °á°ú¿¡´Â ÀÏÄ¡ÇÏ´Â ºñµð¿À ID(VID_ID ¿­ °ª)°¡ ÀÖ´Â RENTALS ¹× VIDEOS Å×À̺í Ç׸ñµµ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

  1. Å×ÀÌºí ºÐÇÒâ¿¡¼­ R Å×À̺íÀÇ Çì´õ¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߸¦ Ŭ¸¯ÇÏ°í ÆË¾÷ ¸Þ´º¿¡¼­ °áÇÕ ÀÛ¼ºÀ» Ŭ¸¯ÇϽʽÿÀ.
  2. ¼Ò½º ¾Æ·¡ÀÇ °áÇÕ ÀÛ¼º â¿¡¼­ ´ÙÀ½ ¼±ÅÃÀ» ¼öÇàÇϽʽÿÀ.
    1. Å×À̺í(º°¸í) ¸ñ·Ï¿¡¼­ RENTALS(R)¸¦ Ŭ¸¯ÇϽʽÿÀ.
    2. ¿­ ¸ñ·Ï¿¡¼­ CUST_ID¸¦ Ŭ¸¯ÇϽʽÿÀ.
  3. ´ë»ó ¾Æ·¡¿¡¼­ ´ÙÀ½ ¼±ÅÃÀ» ¼öÇàÇϽʽÿÀ.
    1. Å×À̺í(º°¸í) ¸ñ·Ï¿¡¼­ CUSTOMERS(C)¸¦ Ŭ¸¯ÇϽʽÿÀ.
    2. ¿­ ¸ñ·Ï¿¡¼­ CUST_ID¸¦ Ŭ¸¯ÇϽʽÿÀ.
  4. È®ÀÎÀ» Ŭ¸¯ÇϽʽÿÀ.µÎ ¿­ »çÀÌ¿¡ °áÇÕ Ä¿³ØÅͰ¡ Ç¥½ÃµË´Ï´Ù.
  5. Å×ÀÌºí ºÐÇÒâ¿¡¼­, Æ÷ÀÎÅ͸¦ R(RENTALS) Å×À̺íÀÇ VID_ID ¿­¿¡¼­ V(VIDEOS) Å×À̺íÀÇ VID_ID ¿­·Î ²ô½Ê½Ã¿À.

SQL ¼Ò½º ºÐÇÒâÀ» º¸°í ¼Ò½º Äڵ忡¼­ °áÇÕÀ» È®ÀÎÇϽʽÿÀ.

   WHERE
         R.CUST_ID = C.CUST_ID
         AND R.VID_ID = V.VID_ID

Å×ÀÌºí ºÐÇÒâ¿¡¼­ µÎ °áÇÕ ¸ðµÎ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºµÇ¾úÀ½À» º¼ ¼ö ÀÖ½À´Ï´Ù.

Å×ÀÌºí °áÇÕ

Ä¿³ØÅ͸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ÇÏ°í ÆË¾÷ ¸Þ´º¿¡¼­ °áÇÕ À¯Çü ÁöÁ¤À» Ŭ¸¯ÇÑ ÈÄ °áÇÕ ÁöÁ¤ â¿¡¼­ ¿øÇÏ´Â °áÇÕ À¯ÇüÀ» ¼±ÅÃÇÏ¿© Å×ÀÌºí ºÐÇÒâ¿¡¼­ °áÇÕ À¯ÇüÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù(¿¹: ±âº» ³»ºÎ Á¶Àο¡¼­ ¿ÞÂÊ, ¿À¸¥ÂÊ ¶Ç´Â Àüü ¿ÜºÎ Á¶ÀÎÀ¸·Î).

Á¶È¸ Á¶°Ç ÀÛ¼º

´ÙÀ½À¸·Î, Á¶È¸°¡ ¿øÇÏ´Â °í°´ À̸§À» °¡Áú ¼ö ÀÖ°Ô °á°ú ÇุÀ» ÃßÃâÇϵµ·Ï Á¶È¸¿¡´Â Á¶È¸ Á¶°ÇÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. µðÀÚÀÎ ºÐÇÒâ¿¡¼­ Á¶°Ç ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© Á¶È¸¿¡ Á¶°ÇÀ» Ãß°¡ÇϽʽÿÀ.

  1. Á¶°Ç ÅÇÀ» Ŭ¸¯ÇÏ¿© Á¶°Ç ÆäÀÌÁö¸¦ º¸½Ê½Ã¿À.
  2. ¿­ ¿­À» µÎ ¹ø Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼­ C.NAMEÀ» Ŭ¸¯ÇϽʽÿÀ.
  3. ¿¬»êÀÚ ¿­À» µÎ ¹ø Ŭ¸¯Çϰí = ¿¬»êÀÚ¸¦ Ŭ¸¯ÇϽʽÿÀ.
  4. °ª ¿­À» µÎ ¹ø Ŭ¸¯Çϰí :custNameÀ» ÀÔ·ÂÇϽʽÿÀ. º¯¼ö À̸§ ¾ÕÀÇ ÄÝ·ÐÀº Á¶È¸¸¦ ½ÇÇàÇÒ ¶§ °ªÀ¸·Î ´ëüµÉ º¯¼ö¿¡ ´ëÇÑ SQL ±¸¹®ÀÔ´Ï´Ù. SQL Á¶È¸¸¦ ½ÇÇàÇÒ ¶§ ÀÌ ±¸¹®ÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö Ç¥½ÃµË´Ï´Ù.

ÀÌÁ¦ Á¶°Ç ÆäÀÌÁö´Â ¾Æ·¡¿¡ Ç¥½ÃµÈ À̹ÌÁöó·³ º¸ÀÔ´Ï´Ù.

µðÀÚÀÎ ºÐÇÒâ - Á¶°Ç ÆäÀÌÁö

GROUP BY Àý Ãß°¡

Á¶È¸¸¦ ¿äÀϺ°, Á¦¸ñº° ¹× °í°´ À̸§º°·Î ±×·ìÈ­ÇÕ´Ï´Ù. SQL ºô´õ¿¡¼­ GROUP BY ÀýÀ» ÀÛ¼ºÇÏ·Á¸é µðÀÚÀÎ ºÐÇÒâ¿¡¼­ ±×·ì ÆäÀÌÁö¸¦ »ç¿ëÇϽʽÿÀ. ÀÌ ºä¿¡¼­ ¿­ Ç¥Çö½Ä, ÁßøµÈ ±×·ì, ±×·ìÈ­ ¼¼Æ®(DB2 Universal Database¿¡¼­¸¸), ROLLUP ¹× CUBE ±×·ìÈ­ ÇÔ¼ö(Oracle ¹× DB2 Universal Database¿¡¼­)¸¦ »ç¿ëÇÏ¿© Á¶È¸ °á°ú¿¡¼­ °í±Þ ±×·ìÈ­¸¦ ÀÛ¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

  1. µðÀÚÀÎ ºÐÇÒâ¿¡¼­ ±×·ì ÅÇÀ» Ŭ¸¯ÇϽʽÿÀ.
  2. DAYOFWEEK ÇÔ¼ö¸¦ °á°ú ¿­·Î Ãß°¡ÇϽʽÿÀ.
    1. ¿­ Å×ÀÌºí¿¡¼­ ù ¹øÂ° ÇàÀ» µÎ ¹ø Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼­ Ç¥Çö½Ä ºôµå¸¦ Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
    2. ¸¶¹ý»çÀÇ Ç¥Çö½Ä ºô´õ ÆäÀÌÁö¿¡¼­ ÇÔ¼ö¸¦ Ŭ¸¯ÇϽʽÿÀ. ÇÔ¼ö Ç¥Çö½Ä ºô´õ ÆäÀÌÁö°¡ ¿­¸³´Ï´Ù.
    3. ÇÔ¼ö Ä«Å×°í¸® ¼±Åà ¸ñ·Ï¿¡¼­ ³¯Â¥ ¹× ½Ã°£À» Ŭ¸¯ÇϽʽÿÀ.
    4. ÇÔ¼ö ¼±Åà ¸ñ·Ï¿¡¼­ DAYOFWEEK¸¦ Ŭ¸¯ÇϽʽÿÀ.
    5. ÇÔ¼ö ¼­¸í ¼±Åà ¸ñ·Ï¿¡¼­ DAYOFWEEK(DATE) --> INTEGER¸¦ Ŭ¸¯ÇϽʽÿÀ.
      ÇÔ¼ö ¼­¸íÀÌ ÇÔ¼ö¿¡ ÇϳªÀÇ Àμö°¡ ÇÊ¿äÇÔÀ» Ç¥½ÃÇÕ´Ï´Ù.
    6. Àμö Å×À̺íÀÇ °ª ¿­¿¡¼­ ¼¿À» Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼­ R.DATE¸¦ Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
    7. ¿Ï·á¸¦ Ŭ¸¯ÇϽʽÿÀ. ¿­ Å×À̺íÀÇ Ã¹ ¹øÂ° ¼¿¿¡ DAYOFWEEK ÇÔ¼ö°¡ Ç¥½ÃµË´Ï´Ù.
  3. ¿­ Å×À̺íÀÇ µÎ ¹øÂ° Çà¿¡¼­ ¸ñ·ÏÀ¸·ÎºÎÅÍ V.TITLE ¿­À» ¼±ÅÃÇÑ ÈÄ, ¼¼ ¹øÂ° Çà¿¡¼­ C.NAMEÀ» ¼±ÅÃÇϽʽÿÀ. ±×·ì ÆäÀÌÁö´Â ÀÌÁ¦ ´ÙÀ½ À̹ÌÁö¿Í À¯»çÇÏ°Ô Ç¥½ÃµË´Ï´Ù.

    µðÀÚÀÎ ºÐÇÒâ - ±×·ì ÆäÀÌÁö

ÀÌÁ¦ Á¶È¸°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù. Á¶È¸´Â SQL ºô´õ¿¡¼­ ´ÙÀ½°ú °°ÀÌ º¸ÀÔ´Ï´Ù.

¿Ï·áµÈ Á¶È¸

ÀÌÁ¦ ¿¬½À 1.5: SQL Á¶È¸ ½ÇÇàÀ» ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.

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