°ü¸® ¾È³»¼
ÀÌ Àý¿¡¼´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ »ç¿ëÀÚ°¡ SQL¹®À» ¼¼ºÐ Á¶Á¤ÇÏ´Â µ¥
µµ¿òÀ» Áִ ƯÁ¤ °í·Á»çÇ×°ú ÁöħÀ» ¼³¸íÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ÀÌ
ÁöħÀº ½Ã½ºÅÛ ÀÚ¿ø »ç¿ë°ú ¸Å¿ì Å« Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇϱâ À§ÇØ
ÇÊ¿äÇÑ ½Ã°£À» ÃÖ¼ÒÈÇÏ´Â ÇÁ·Î±×·¥À» ¼³°èÇÏ´Â µ¥ µµ¿òÀ» ÁÝ´Ï´Ù. SQL¹®ÀÌ
ÄÄÆÄÀ쵃 ¶§ ¹ß»ýÇÏ´Â ÃÖÀûÈ ¾ç¿¡ µû¶ó, SQL¹®À» ¼¼ºÐ Á¶Á¤ÇÒ ÇÊ¿ä´Â
¾ø½À´Ï´Ù. SQL ÄÄÆÄÀÏ·¯´Â SQLÀ» ´õ È¿À²ÀûÀÎ ÇüÅ¿¡ Àç±â·ÏÇÒ
¼ö ÀÖ½À´Ï´Ù. SQL ÄÄÆÄÀÏ·¯¿¡ ÀÇÇÑ Á¶È¸ ÀçÀÛ¼º ¹× ÃÖÀûÈ Å¬·¡½º Á¶Á¤¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
ÃÖÀûÈ ¾Ë°í¸®Áò¿¡ ÀÇÇØ ¼±ÅÃµÈ ¾×¼¼½º Ç÷£Àº ȯ°æ»óÀÇ °í·Á»çÇ×°ú
½Ã½ºÅÛ Ä«Å»·Î±× Åë°è¿Í °°Àº ´Ù¸¥ Àμö¿¡
ÀÇÇØ¼µµ ¿µÇâÀ» ¹Þ´Â´Ù´Â »ç½Ç¿¡ À¯ÀÇÇÏ´Â °Íµµ Áß¿äÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÇ
¼º´ÉÀ» Å×½ºÆ®ÇÏ´Â º¥Ä¡¸¶Å©¸¦ À¯µµÇÏ´Â °æ¿ì, ¾×¼¼½º Ç÷£À»
Çâ»óÇÒ ¼ö ÀÖ°Ô Á¶Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
SQL ¾ð¾î´Â ÀûÀÀ¼ºÀÌ ³ôÀº °í±Þ ¾ð¾îÀÔ´Ï´Ù. ÀÌ·¯ÇÑ
°á°ú·Î, ¼±Åù®Àº °°Àº µ¥ÀÌÅ͸¦
°Ë»öÇϱâ À§ÇØ ±â·ÏµÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ´Ù¸¥ ¾ç½Ä°ú
´Ù¸¥ ÃÖÀûÈ Å¬·¡½º¿¡ µû¶ó ¼º´ÉÀº ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù.
SQL ÄÄÆÄÀÏ·¯(Á¶È¸ Àç±â·Ï°ú ÃÖÀûÈ ´Ü°è¸¦ Æ÷ÇÔÇÏ´Â)´Â ÄÚµåÈÇÑ Á¶È¸¿¡
´ëÇÑ °á°ú ¼¼Æ®¸¦ »ý¼ºÇÏ´Â ¾×¼¼½º Ç÷£À» ¼±ÅÃÇÕ´Ï´Ù.
±×·¯¹Ç·Î, ´ÙÀ½ Áöħ¿¡¼ ¸¹ÀÌ ¼³¸íµÈ ³»¿ëó·³ »ç¿ëÀÚÀÇ
Á¶È¸¸¦ ÇÊ¿äÇÑ µ¥ÀÌÅ͸¸ ¾òµµ·Ï ÄÚµåÈÇØ¾ß ÇÕ´Ï´Ù.
select¹® »ç¿ë¿¡ ´ëÇÑ ÁöħÀº ´ÙÀ½°ú °°½À´Ï´Ù.
- ¼±Åà ¸ñ·Ï¿¡¼ ÇÊ¿äÇÑ Ä÷³¸¸À» ÁöÁ¤ÇϽʽÿÀ. º°Ç¥(*)·Î
¸ðµç Ä÷³À» ÁöÁ¤ÇÏ´Â °ÍÀÌ ´õ °£´ÜÇÏÁö¸¸, ºÒÇÊ¿äÇÑ Ã³¸®¿Í
¿øÇÏÁö ¾Ê´Â ¸®ÅÏÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
- ÇÊ¿äÇÑ Çà¿¡ ´ëÇÑ ÀÀ´ä ¼¼Æ®¸¸À» Á¦ÇÑÇÏ´Â ¼ú¾î¸¦ »ç¿ëÇÏ¿©
¼±ÅÃµÈ ÇàÀÇ ¼ö¸¦ Á¦ÇÑÇϽʽÿÀ(´Ù¸¥
¼ú¾î À¯Çü ¹× ¼ú¾î°¡ °ü·Ã ¼º´É¿¡ ¹ÌÄ¡´Â ¿µÇâ¿¡ ´ëÇØ¼´Â
¼ú¾î¿¡ °ü·ÃµÈ ¿ë¾î¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ).
- »ç¿ëÇÏ·Á´Â ÇàÀÇ ¼ö°¡ ¸®Å쵃 ¼ö ÀÖ´Â Àüü Çà ¼öº¸´Ù Å©°Ô ÀûÀº °æ¿ì,
select¹®À¸·Î OPTIMIZE FORÀýÀ» ÁöÁ¤ÇϽʽÿÀ. ÀÌ
ÀýÀ» »ç¿ëÇϸé, Åë½Å ¹öÆÛ¿¡¼ ºí·ÏµÈ ÇàÀÇ ¼ö»Ó¸¸ ¾Æ´Ï¶ó ¾×¼¼½º Ç÷£ÀÇ
¼±Åà ¸ðµÎ¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. Çà ºí·ÎÅ·¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
- °Ë»öµÇ´Â ÇàÀÇ ¼ö°¡ ÀÛÀ¸¸é, FETCH FIRST n ROWS ONLYÀý¿¡
OPTIMIZE FOR k ROWSÀýÀ» ÁöÁ¤ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ±×·¯³ª, nÀÌ Å©°í
Â÷ÈÄÀÇ k Çà¿¡ °¡´ÉÇÑ Áö¿¬À» »ç¿ëÇÏ¿© ù¹øÂ° k ÇàÀ» È®º¸ÇÏ¿© ÃÖÀûÈÇÏ·Á´Â
°æ¿ì, µÑ´Ù ÁöÁ¤ÇϽʽÿÀ. Åë½Å ¹öÆÛ´Â n°ú k Áß ´õ ÀÛÀº Å©±â·Î ¼³Á¤µË´Ï´Ù.
SELECT EMPNAME, SALARY FROM EMPLOYEE
ORDER BY SALARY DESC
FETCH FIRST 100 ROWS ONLY
OPTIMIZE FOR 20 ROWS
- FOR READ ONLY(¶Ç´Â FOR FETCH ONLY)ÀýÀ» ÁöÁ¤Çϸé, »ç¿ëÀÚÀÇ Á¶È¸°¡
Çà ºí·ÎÅ·À» ÀÌ¿ëÇÒ ¼ö ÀÖ¾î ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÁöÁ¤µÈ
ÀýÀ» »ç¿ëÇÑ Á¶È¸¿¡ ÀÇÇØ °Ë»öµÈ Çà¿¡¼ exclusive Àá±ÝÀº Àý´ë·Î º¸À¯µÇÁö
¾ÊÀ¸¹Ç·Î, µ¥ÀÌÅÍ µ¿½Ã¼ºÀ» ¶ÇÇÑ Çâ»óÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, Ãß°¡ Á¶È¸
Àç±â·ÏÀÌ ÀϾ°Ô ÇÕ´Ï´Ù.
¿¬ÇÕ ½Ã½ºÅÛ¿¡¼´Â BLOCKING ALL BIND¿Í ÇÔ²² FOR
READ ONLY(¶Ç´Â FOR FETCH ONLY)ÀýÀ» ÁöÁ¤Çϸé, º°¸í¿¡ ´ëÇÑ Á¶È¸ÀÇ
¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.
- FOR UPDATE OFÀýÀ» ÁöÁ¤Çϸé, °»½ÅµÉ Ä¿¼ ¼º´ÉÀ» ¶ÇÇÑ Çâ»óÇÒ
¼ö ÀÖÀ¸¸ç µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ Ã³À½ºÎÅÍ ´õ ÀûÇÕÇÑ Àá±Ý ·¹º§À» ¼±ÅÃÇÏ¿© ÀáÀçÀûÀÎ
±³Âø »óÅÂ(±³Âø »óÅ ÂüÁ¶)¿Í Àá±Ý
º¯È¯(Àá±Ý º¯È¯ ÂüÁ¶)À» ÇÇÇÒ ¼ö ÀÖ°Ô ÇÏ¿© ¼º´ÉÀ»
Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.
- °¡´ÉÇϸé, ¼ýÀÚ µ¥ÀÌÅÍ À¯Çü º¯È¯Àº Ç×»ó ÇÇÇϽʽÿÀ. °ªÀ» ºñ±³ÇÏ´Â
°æ¿ì, °°Àº µ¥ÀÌÅÍ À¯ÇüÀ» °¡Áø Ç׸ñÀ» »ç¿ëÇÏ´Â °ÍÀÌ ´õ È¿À²ÀûÀÔ´Ï´Ù.
º¯È¯ÀÌ ÇÊ¿äÇÑ °æ¿ì, ÇѰè ÀÖ´Â Á¤È®µµ·Î ÀÎÇÑ ºÎÁ¤È®¼º°ú ·±Å¸ÀÓ º¯È¯À¸·Î
ÀÎÇÑ ¼º´É ºñ¿ëÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
°¡´ÉÇϸé, ´ÙÀ½ÀÇ µ¥ÀÌÅÍ À¯ÇüÀ» »ç¿ëÇϽʽÿÀ.
- ªÀº Ä÷³¿¡ ´ëÇØ º¯ÇÏÁö ¾Ê´Â ¹®ÀÚ
- ºÎµ¿ ¼Ò¼ö ¶Ç´Â ½ÊÁø¼öº¸´Ù´Â Á¤¼ö
- ¹®ÀÚº¸´Ù´Â ³¯Â¥½Ã°£
- ¹®ÀÚº¸´Ù´Â ¼ýÀÚ
- DISTINCT ¶Ç´Â ORDER BY¿Í °°Àº ÀýÀ̳ª Á¶ÀÛÀÌ µé¾î ÀÖ´Â SQL¹®Àº
Á¶ÀÛÀ» ½ÇÇàÇϱâ À§ÇØ ¼ø¼ÈµÈ µ¥ÀÌÅ͸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. Á¤·Ä Á¶ÀÛÀÌ
»ç¿ëµÇ´Â ±âȸ¸¦ ÁÙÀÌ·Á´Â °æ¿ì, ÇÊ¿äÇÏÁö ¾ÊÀ¸¸é ÀÌ ÀýÀÇ ½ºÆåÀ»
»ý·«ÇϽʽÿÀ.
- Å×ÀÌºí¿¡¼ ÇàÀÇ Á¸À縦 È®ÀÎÇÏ·Á¸é, ´ÙÀ½À» »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À.
SELECT COUNT(*) FROM TABLENAME
±×¸®°í, ¸Å¿ì ÀÛÀº Å×À̺íÀÌ ¾Æ´Ò °æ¿ì 0ÀÌ ¾Æ´Ñ °ªÀ»
È®ÀÎÇϽʽÿÀ. Å×À̺íÀÌ Ä¿Áú¼ö·Ï, ¸ðµç ÇàÀ» Ä«¿îÆ®Çϸé
¼º´É¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. ±× ´ë½Å, ´ÜÀÏ ÇàÀ» ¼±ÅÃÇϵµ·Ï
ÇÏ´Â °ÍÀÌ Á¦½ÃµË´Ï´Ù. Ä¿¼¸¦ ¿°í ÇÑ ÇàÀ» ÆäÄ¡Çϰųª
´ÜÀÏ Çà(SELECT INTO)À» ¼±ÅÃÇÏ¿© ½ÇÇàµÉ ¼ö ÀÖ½À´Ï´Ù(µÑ
ÀÌ»óÀÇ ÇàÀÌ select¹®¿¡ ÀÖ´Â
°æ¿ì, SQLCODE -811 ¿À·ù¸¦ ¹Ýµå½Ã È®ÀÎÇϽʽÿÀ).
- °»½Å Ȱµ¿ÀÌ Àû°í Å×À̺íÀÌ Å« °æ¿ì, ¼ú¾î·Î ÀÚÁÖ »ç¿ëµÇ´Â
Ä÷³¿¡¼ »öÀÎÀ» Á¤ÀÇÇϽʽÿÀ.
- ¿©·¯ ¼ú¾î Àý¿¡ °°Àº Ä÷³ÀÌ ³ªÅ¸³¯ °æ¿ì IN ¸ñ·ÏÀ» »ç¿ëÇÒ °ÍÀ»
°í·ÁÇØ º¸½Ê½Ã¿À.
- È£½ºÆ® º¯¼ö¿Í ÇÔ²² »ç¿ëµÇ´Â Å« IN ¸ñ·ÏÀÇ °æ¿ì,
È£½ºÆ® º¯¼öÀÇ ºÎ¼Ó ÁýÇÕÀ» loopinÇÏ¸é ¼º´ÉÀÌ °³¼±µË´Ï´Ù.
´ÙÀ½ÀÇ Á¦¾È»çÇ×Àº ¿©·¯ Å×À̺íÀ»
¾×¼¼½ºÇÏ´Â select¹®¿¡ Ưº°È÷ Àû¿ëÇÕ´Ï´Ù.
- Å×À̺íÀ» Á¶ÀÎÇÏ´Â °æ¿ì Á¶ÀÎ ¼ú¾î¸¦ »ç¿ëÇϽʽÿÀ(Á¶ÀÎ ¼ú¾î´Â
Á¶ÀÎÀÇ ´Ù¸¥ Å×ÀÌºí¿¡¼ µÎ Ä÷³°£ÀÇ ºñ±³ÀÔ´Ï´Ù).
- Á¶ÀÎÀÌ ´õ È¿À²ÀûÀ¸·Î 󸮵ǵµ·Ï Çϱâ À§ÇØ Á¶ÀÎ ¼ú¾îÀÇ Ä÷³¿¡¼
»öÀÎÀ» Á¤ÀÇÇϽʽÿÀ. ÀÌ·¸°Ô Çϸé, ¿©·¯ Å×À̺íÀ» ¾×¼¼½ºÇÏ´Â ¼±ÅÃ
¸í·É¹®ÀÌ µé¾î ÀÖ´Â UPDATE ¹× DELETE¹®¿¡¼µµ µµ¿òÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
- °¡´ÉÇϸé, Á¶ÀÎ ¼ú¾î¸¦ °¡Áø Ç¥Çö½ÄÀ̳ª ORÀýÀ» »ç¿ëÇÏÁö
¸¶½Ê½Ã¿À. ÀÌ °æ¿ì, ÀϺΠÁ¶ÀÎ ±â¼úÀº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥¿¡ ÀÇÇØ »ç¿ëµÉ ¼ö
¾ø½À´Ï´Ù. ±× °á°ú, °¡Àå È¿À²ÀûÀÎ Á¶ÀÎ ¹æ¹ýÀ» ¼±ÅÃÇÒ ¼ö ¾øÀ»
¼öµµ ÀÖ½À´Ï´Ù.
- °¡´ÉÇϸé, ÆÄƼ¼ÇÀÌ ³ª´©¾îÁø µ¥ÀÌÅͺ£À̽º ȯ°æ¿¡¼ Á¶ÀεÈ
Å×À̺íÀÌ Á¶ÀÎ Ä÷³¿¡¼ ¸ðµÎ ÆÄƼ¼ÇÀÌ ³ª´©¾îÁ³´ÂÁö È®ÀÎÇϽʽÿÀ.
Á¶ÀÎ °³³ä¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
¶ÇÇÑ, Á¶ÀÎ ¹× ºÎ¼Ó Á¶È¸¸¦ °¡Áø SQL¹® ÄÚµù¿¡ ´ëÇØ¼´Â
ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]