¿¬½À 1.3: °á°ú ¿ ÁöÁ¤
½ÃÀÛÇϱâ Àü¿¡ ¿¬½À 1.2:
Å×À̺íÀÌ ÀÖ´Â SELECT ¹® ÀÛ¼ºÀ» ¿Ï·áÇϽʽÿÀ.
ÀÌ ¿¬½À¿¡¼´Â Á¶È¸ °á°ú¿¡ Ç¥½ÃÇÒ ¿À» ÁöÁ¤ÇÕ´Ï´Ù.
»óÁ¡ Á÷¿ø¿¡°Ô °í°´ À̸§, °í°´ÀÌ ºô·Á°£ °¢ ºñµð¿ÀÀÇ Á¦¸ñ,
°¢ ºñµð¿ÀÀÇ ¹Ý³³ ¿äÀÏÀÌ Ç¥½ÃµÇ¾î¾ß ÇÕ´Ï´Ù.
µÎ °³ÀÇ ¿À» Æ÷ÇÔÇÏ°í ¼¼ ¹øÂ° °á°ú ¿¿¡ ´ëÇØ CASE Ç¥Çö½ÄÀ»
Ãß°¡ÇÑ ÈÄ CASE ¿ Ç¥Çö½Ä¿¡ º°¸íÀ» ÁöÁ¤ÇÕ´Ï´Ù.
°á°ú ¿ ¼¼Æ®ÀÇ ¿ ¼±ÅÃ
°í°´ À̸§°ú ºñµð¿À Á¦¸ñ¿¡ ´ëÇÑ °á°ú ¿ ¼¼Æ®¿¡
´ÙÀ½ ¿À» Ãß°¡ÇÕ´Ï´Ù.
- CUSTOMERS Å×À̺íÀÇ NAME ¿
- VIDEOS Å×À̺íÀÇ TITLE ¿
- Å×ÀÌºí ºÐÇÒâ¿¡¼, C(CUSTOMER) Å×À̺í·ÎºÎÅÍ
NAME ¼±ÅöõÀ» ¼±ÅÃÇϽʽÿÀ.
- µðÀÚÀÎ ºÐÇÒâÀÇ ¿ ÆäÀÌÁö¿¡ ÀÖ´Â ¿ ¿¿¡¼
ù ¹øÂ° ºó ¼¿À» µÎ ¹ø Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼
V.TITLEÀ» Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
SQL ¼Ò½º ºÐÇÒâ¿¡¼ SQL ¼Ò½º Äڵ忡 ¿ÀÌ Ãß°¡µË´Ï´Ù.
°á°ú ¿ ¼¼Æ®¿¡ CASE Ç¥Çö½Ä Ãß°¡
Á¶È¸ °á°ú ¼¼Æ®¿¡ ´ëÇÑ ¼¼ ¹øÂ° ¿ÀÌ ¿ Ç¥Çö½ÄÀÇ °á°ú°¡
µË´Ï´Ù. ºñµð¿À »óÁ¡ µ¥ÀÌÅͺ£À̽º´Â ºñµð¿À ¹Ý³³ÀÌ ¿¹Á¤µÈ ³¯Â¥¸¦ DATE Çü½ÄÀ¸·Î
ÀúÀåÇÕ´Ï´Ù. DATE Çü½ÄÀº ºñµð¿À ¹Ý³³ÀÌ ¿¹Á¤µÈ ¿äÀÏÀÇ À̸§À»
Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿·Î º¯È¯µÇ¾î¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ÇÔ¼ö´Â
¿äÀÏ¿¡ ÇØ´çÇÏ´Â ³¯Â¥¸¦ Á¤¼ö·Î
Ç¥ÇöÇÕ´Ï´Ù. CASE Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ÇÔ¼ö¸¦ Æò°¡Çϰí ÇÔ¼ö¿¡¼
¸®ÅÏµÈ Á¤¼ö¸¦ °¢ ¿äÀÏ¿¡ ´ëÇÑ ¹®ÀÚ¿·Î
º¯È¯ÇÕ´Ï´Ù. (¿¹¸¦ µé¾î, Á¶È¸ °á°ú¿¡¼ 1Àº "ÀÏ¿äÀÏ"·Î º¯°æµË´Ï´Ù.)
CASE Ç¥Çö½ÄÀ» ºôµåÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç¸¦ ¿©½Ê½Ã¿À.
- ´Ü¼ø À¯Çü CASE Ç¥Çö½ÄÀ» ÀÛ¼ºÇϽʽÿÀ.
- CASE Ç¥Çö½ÄÀ¸·Î Æò°¡Çϱâ À§ÇØ DAYOFWEEK ÇÔ¼ö¸¦ Ãß°¡ÇϽʽÿÀ.
DAYOFWEEK ÇÔ¼ö·Î DATE ¿¿¡¼ ¿äÀÏÀ» È®º¸ÇÒ ¼ö
ÀÖ½À´Ï´Ù. ÀÌ ÇÔ¼ö´Â ¿äÀÏ¿¡ ÇØ´çÇÏ´Â
Á¤¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
- WHEN ÀýÀ» Ãß°¡ÇÏ¿© CASE Ç¥Çö½Ä¿¡ ´ëÇÑ °á°ú¸¦ »êÃâÇϽʽÿÀ.
- µðÀÚÀÎ ºÐÇÒâÀÇ ¿ ÆäÀÌÁö¿¡ ÀÖ´Â ¿ ¿¿¡¼
¼¼ ¹øÂ° ¼¿(ù ¹øÂ° ºó ¼¿)À» µÎ ¹ø Ŭ¸¯ÇÏ°í ¸ñ·Ï ³¡¿¡¼
Ç¥Çö½Ä ºôµå¸¦ Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç°¡
¿¸³´Ï´Ù.
- ´Ü¼ø À¯Çü CASE Ç¥Çö½ÄÀ» ÀÛ¼ºÇϽʽÿÀ.
- Ç¥Çö½Ä ºô´õ ÆäÀÌÁö¿¡¼ CASE - °Ë»ö ¶Ç´Â ´Ü¼ø À¯ÇüÀ» Ŭ¸¯ÇÑ ÈÄ
´ÙÀ½À» Ŭ¸¯ÇϽʽÿÀ.
- CASE ¿É¼Ç ÆäÀÌÁö¿¡¼ Simple-When-Clause¸¦ Ŭ¸¯ÇÑ ÈÄ
´ÙÀ½À» Ŭ¸¯ÇϽʽÿÀ.
- DAYOFWEEK ÇÔ¼ö¸¦ Ãß°¡ÇϽʽÿÀ.
- ´Ü¼ø À¯Çü Case ÆäÀÌÁö¿¡ ÀÖ´Â CASE ¸ñ·Ï¿¡¼ ÇÔ¼ö
Ç¥Çö½Ä ºôµå¸¦ Ŭ¸¯ÇϽʽÿÀ. ÇÔ¼ö Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç°¡ ¿¸³´Ï´Ù.
- ÇÔ¼ö Ä«Å×°í¸® ¼±Åà ¸ñ·Ï¿¡¼ ³¯Â¥ ¹× ½Ã°£À» Ŭ¸¯ÇϽʽÿÀ.
- ÇÔ¼ö ¼±Åà ¸ñ·Ï¿¡¼ DAYOFWEEK¸¦ Ŭ¸¯ÇϽʽÿÀ.
- ÇÔ¼ö ¼¸í ¼±Åà ¸ñ·Ï¿¡¼
DAYOFWEEK(DATE) --> INTEGER¸¦ Ŭ¸¯ÇϽʽÿÀ.
ÇÔ¼ö ¼¸íÀÌ ÇÔ¼ö¿¡ ÇϳªÀÇ Àμö°¡ ÇÊ¿äÇÔÀ» Ç¥½ÃÇÕ´Ï´Ù.
- Àμö Å×À̺íÀÇ °ª ¿¿¡¼ ¼¿À» Ŭ¸¯ÇÏ°í ¸ñ·Ï¿¡¼ R.DATE¸¦
Ŭ¸¯ÇÑ ÈÄ Enter¸¦ ´©¸£½Ê½Ã¿À.
ÇÔ¼ö Ç¥Çö½Ä ±¸¹®Àº DAYOFWEEK(R.DATE)ÀÔ´Ï´Ù(´ÙÀ½ ȸé
ĸóÀÇ ¼½¼Ç 5 ÂüÁ¶).

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

- Ç¥Çö½Ä ºô´õ ¸¶¹ý»ç¸¦ ´ÝÀ¸·Á¸é ¿Ï·á¸¦ Ŭ¸¯ÇϽʽÿÀ.
¿Ï·áµÈ CASE Ç¥Çö½ÄÀÌ µðÀÚÀÎ ºÐÇÒâÀÇ ¿ ÆäÀÌÁö¿¡ ÀÖ´Â ¿ Ç¥Çö½Ä ¸ñ·Ï¿¡
Ç¥½ÃµÇ°í SQL ¹® ¼Ò½º¿¡µµ Ç¥½ÃµË´Ï´Ù.
¿ º°¸í Ãß°¡
customerRentals SQL ¹®¿¡¼ CASE ¿ Ç¥Çö½Ä¿¡ ´ëÇÑ
¿ º°¸íÀ» Ãß°¡ÇÕ´Ï´Ù. SQL ºô´õÀÇ µðÀÚÀÎ ºÐÇÒâ¿¡¼
¿ ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- µðÀÚÀÎ ºÐÇÒâ¿¡¼ ¿ ÅÇÀ» Ŭ¸¯ÇϽʽÿÀ.
- CASE ¿ Ç¥Çö½Ä ¿·¿¡ ÀÖ´Â º°¸í ¿¿¡¼ ¼¿À» Ŭ¸¯Çϰí
DUEDAY¸¦ ÀÔ·ÂÇϽʽÿÀ.
SQL ¼Ò½º ºÐÇÒâÀ» º¸¸é CASE Ç¥Çö½Ä ´ÙÀ½¿¡ ¿ º°¸íÀ¸·Î
AS DUEDAY°¡ Ç¥½ÃµÇ¾î ÀÖ½À´Ï´Ù. Á¶È¸¸¦ ½ÇÇàÇÒ °æ¿ì,
ÀÌ º°¸íÀº °á°ú Å×ÀÌºí¿¡¼ ¿ÀÇ Á¦¸ñÀ¸·Î ³ªÅ¸³³´Ï´Ù.
¿ ÆäÀÌÁö´Â ´ÙÀ½°ú °°½À´Ï´Ù.

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