| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 17. ¼¹öÀÇ ¼³Á¤ | Fast Forward | Next |
¿ÂÀÇ °æ¿ì, Äõ¸®¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â Å×À̺íÀº, ÀÌ¹Ì Á¸ÀçÇϰí ÀÖÁö ¾ÊÀ¸¸éFROM±¸¿¡ Ãß°¡µË´Ï´Ù. ÀÌ ÇൿÀº SQL Ç¥ÁØ¿¡ ÁذÅÇÏÁö ¾Ê°í, ¸¹Àº À¯Àú´Â(º°¸í(alias)¸¦ ÂüÁ¶ÇØ¾ß ÇÏ´Â Å×À̺í ÂüÁ¶¸¦ ÇÏ´Â °æ¿ì µî) À߸øÀ» ÀºÆó ÇÏ´Â °ÍÀ» ½È¾îÇÕ´Ï´Ù. µðÆúÆ®´ÂoffÀÔ´Ï´Ù. ÀÌ º¯¼ö´Â, ÀÌ ÇൿÀÌ µðÆúÆ®·Î ÀÎÁ¤µÇ°í ÀÖ´Â 8.1 ÀÌÀüÀÇPostgreSQL¸±¸®½º¿ÍÀÇ È£È¯¼ºÀ» À¯È¿ÇÏ°Ô ÇÕ´Ï´Ù.
ÀÌ º¯¼ö°¡ À¯È¿ÇÏ´õ¶óµµ, Äõ¸®¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â °³°³ÀÇ ¸í½ÃÀûFROM¿£Æ®¸®¿¡ ´ëÇØ, °æ°í ¸Þ¼¼Áö°¡ ¹æÇàµÇ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. Äõ¸®ÀÇFROM±¸¿¡ ´ëÇÑ Äõ¸®·Î ÂüÁ¶µÇ´Â ¸ðµç Å×À̺íÀ» Ãß°¡ÇÏ´Â °Í(ȤÀºDELETEÀÇ °æ¿ìÀÇ USING±¸)¿¡ÀÇ, ÀÌ·¯ÇÑ Çൿ¿¡ ½Å·Ú¸¦ µÎÁö ¾Ê´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» °»½ÅÇÏ´Â °ÍÀº À¯Àú¿¡°Ô ÃßõµÇÁö ¾Ê½À´Ï´Ù.
À̰ÍÀº, ¹è¿ ÀÔ·Â ÆÄ¼°¡ ÀοëºÎÈ£ÀÇ ¾ø´ÂNULL¸¦ NULL ¹è¿ ¿ä¼Ò·Î¼ ÀνÄÇÒÁö¸¦ Á¦¾îÇÕ´Ï´Ù. µðÆúÆ®¿¡¼´Â, À̰ÍÀºon·Î, NULL°ªÀ» °¡Áö´Â ¹è¿°ªÀ» ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, 8.2º¸´Ù ÀüÀÇ ¹öÁ¯ÀÇPostgreSQL¿¡¼´Â, ¹è¿³»ÀÇ NULL°ªÀ» Áö¿øÇÏÁö ¾Ê°í,NULL¸¦"NULL"¶ó°í ÇÏ´Â °ªÀÇ ¹®ÀÚ¿À» °¡Áö´Â Åë»óÀÇ ¹è¿ ¿ä¼Ò·Î¼ Ãë±ÞÇϰí ÀÖ¾ú½À´Ï´Ù. ¿À·¡µÈ µ¿ÀÛÀ» ÇÊ¿ä·Î ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÈĹæ ȣȯ¼ºÀ» À§Çؼ, ÀÌ º¯¼ö¸¦off·Î ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ º¯¼ö°¡off¿©µµ, NULL°ªÀ» Æ÷ÇÔÇÑ ¹è¿°ªÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
¹®ÀÚ¿ ¸®ÅÍ·² ³»¿¡¼ ÀοëºÎÈ£°¡\'·Î Ç¥ÇöµÉÁö ¾Æ´ÒÁö¸¦ °ü¸®ÇÕ´Ï´Ù. ÀοëºÎÈ£ÀÇ Ç¥ÇöÀ¸·Î¼ SQL ÁذÅÀÇ ¹æ½ÄÀ¸·Î´Â ÀÌÁßÈ('')ÀÔ´Ï´Ù¸¸,PostgreSQL´Â ¿ª»çÀûÀ¸·Î\'µµ ¹Þ¾ÆµéÀÔ´Ï´Ù. ±×·¯³ª, ¸î°³ÀÇ Å¬¶óÀÌ¾ðÆ® ¹®ÀÚ ÁýÇÕ ÀÎÄÚµù ¹æ½Ä¿¡ ´ëÇØ, ÃÖÁ¾ ¹ÙÀÌÆ®°¡ ¼öÄ¡ÀûÀ¸·Î ASCIIÀÇ °Í\¿¡ µ¿ÀÏÇÑ ¸ÖƼ ¹ÙÀÌÆ® ¹®ÀÚ°¡ ÀÖ¾î,\'¸¦ »ç¿ëÇÏ¸é º¸¾È»ó ¹®Á¦¸¦ ÀÏÀ¸Å³ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. Ŭ¶óÀ̾ðÆ®ÃøÀÇ Äڵ尡 »ç½Ç»ó À̽ºÄÉÀÌÇÁ¸¦ ¿Ã¹Ù¸£°Ô Ãë±ÞÇÏÁö ¾Ê´Â °æ¿ì, SQL ÀÎÁ§¼Ç °ø°ÝÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù. ÀÌ À§Ç輺ÀÇ È¸ÇÇ´Â, ¼¹ö°¡ ¿ª½½·¡½Ã·Î À̽ºÄÉÀÌÇÁ µÈ ÀοëºÎÈ£¸¦ Æ÷ÇÔÇÑ Äõ¸®¸¦ °ÅÀýÇϵµ·Ï ÇÕ´Ï´Ù. Çã¿ëµÇ´Âbackslash_quoteÀÇ °ªÀº, ¡¡¡¡¡¡¡¡¡¡on (Ç×»ó \' ¸¦ Çã¿ë), off (Ç×»ó °ÅºÎ), ¹× safe_encoding (Ŭ¶óÀÌ¾ðÆ® ÀÎÄÚµù ¹æ½ÄÀÌ ¸ÖƼ¹ÙÀÌÆ® ¹®ÀÚ ³»¿¡¼ ASCIIÀÇ °Í\À» Çã¿ëÇÏÁö ¾ÊÀº °æ¿ì¿¡¸¸ »ç¿ë°¡´É). safe_encoding °¡ µðÆúÆ®ÀÇ ¼³Á¤.
Ç¥ÁØ¿¡ µû¸¥ ¹®ÀÚ¿ ¸®ÅÍ·²¿¡¼´Â,\Àº ´ÜÁö\¸¦ ÀǹÌÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â, À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿ ±¸¹®(E'...')¸¦ Æ÷ÇÔÇÑ Ç¥ÁØ¿¡ µû¸£Áö ¾Ê´Â ¸®ÅÍ·²ÀÇ Ãë±Þ¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.
WITH OIDSȤÀºWITHOUT OIDS°¡ ¸ðµÎ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì,CREATE TABLE¹×CREATE TABLE AS°¡ ¿ÀºêÁ§Æ® ½Äº°ÀÚ(OID) ¿À» ½Å±Ô ÀÛ¼ºÀÇ Å×ÀÌºí¿¡ Æ÷ÇÔÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ °ü¸®ÇÕ´Ï´Ù. µ¿½Ã¿¡SELECT INTO·Î ÀÛ¼ºµÈ Å×ÀÌºí¿¡ OID°¡ Æ÷ÇԵǴÂÁö ¾Æ´ÑÁöµµ °áÁ¤ÇÕ´Ï´Ù. PostgreSQL 8.1ÀÇdefault_with_oids´Â, µðÆúÆ®·ÎoffÀÔ´Ï´Ù. ÀÌÀüÀÇ ¹öÁ¯ÀÇPostgreSQL´Â µðÆúÆ®·Î À¯È¿Çß½À´Ï´Ù.
À¯Àú Å×ÀÌºí¿¡¼ÀÇ OID »ç¿ëÀº ÁÁÁö ¾Ê´Ù°í °í·ÁµÇ¾î, ´ëºÎºÐÀÇ ¼³Ä¡´Â ÀÌ º¯¼ö¸¦ ¹«È¿·Î ÇÑ Ã¤·Î ÀÖ½À´Ï´Ù. ƯÁ¤ÀÇ Å×ÀÌºí¿¡ ´ëÇØ¼ OID¸¦ ÇÊ¿ä·Î ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀº, Å×À̺í ÀÛ¼ºÇØWITH OIDS¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ º¯¼ö´Â, ÀÌ ÇൿÀ» ½Ç½ÃÇÏÁö ¾Ê´Â ¿À·¡µÈ ¾ÖÇø®ÄÉÀ̼ǰúÀÇ È£È¯¼ºÀ» À§ÇØ »ç¿ëµË´Ï´Ù.
À¯È¿ÀÇ °æ¿ì, Åë»óÀÇ ¹®ÀÚ¿ ¸®ÅÍ·²('...'±¸¹®)¿¡ backslash(\)°¡ ÀÖ¾î,standard_conforming_stringsÀÌ ¹«È¿ÀÎ °æ¿ì, °æ°í°¡ ¹ßÇàµË´Ï´Ù. µðÆúÆ®´ÂonÀÔ´Ï´Ù.
SQL ȣȯ¼ºÀ» À§Çؼ, ÇâÈÄÀÇ ¸±¸®½º¿¡¼ Åë»óÀÇ ¹®ÀÚ¿ÀÇ µðÆúÆ® µ¿ÀÛÀ» º¯°æÇÒ ¿¹Á¤À̹ǷÎ, ¹é½½·¡½Ã¸¦ À̽ºÄÉÀÌÇÁ·Î¼ »ç¿ëÇÏ°í ½ÍÀº ¾ÖÇø®ÄÉÀ̼ÇÀº, À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿ ±¸¹®(E'...')¸¦ »ç¿ëÇϵµ·Ï º¯°æÇØ¾ß ÇÕ´Ï´Ù. ÀÌ º¯¼ö¸¦ À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀ¸·Î, Àå·¡¿¡ ½ÇÆÐÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ °ËÃâÀ» º¸Á¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Á¤±Ô Ç¥Çö"±âÈ£"À»advanced,extended,basicÁßÀÇ Çϳª¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. extended¶ó°í ÇÏ´Â ¼³Á¤Àº, 7.4º¸´Ù ÀüÀÇ ¸±¸®½ºÀÇPostgreSQL¿ÍÀÇ Á¤È®ÇÑ ÈĹæ ȣȯ¼ºÀ» À§Çؼ À¯¿ëÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºSection 9.7.3.1À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
À̰ÍÀº »ó¼ÓÀÇ Àǹ̸¦ Á¦¾îÇÕ´Ï´Ù. off·Î Çϸé, µðÆúÆ®¿¡¼ ¼ºêÅ×À̺íÀÌ °¢Á¾ Ä¿¸àµå·Î Æ÷ÇÔµÇÁö ¾Ê°Ô µË´Ï´Ù. ±âº»ÀûÀ¸·Î´Â ¾Ï¹¬ÀûÀÎONLYŰ¿öµåÀÔ´Ï´Ù. À̰ÍÀº 7.1 ÀÌÀüÀÇ ¸±¸®½º¿ÍÀÇ È£È¯¼ºÀ» À§Çؼ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºSection 5.8À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
Ç¥ÁØ SQL¿¡ ±ÔÁ¤µÈ °Íó·³, Åë»óÀÇ ¹®ÀÚ¿ ¸®ÅÍ·²('...')°¡ ¹é½½·¡½Ã¸¦ ±×´ë·Î Ãë±ÞÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ Á¦¾îÇÕ´Ï´Ù. ÀÌ °ªÀº ÇöÀç Ç×»ó, ¹é½½·¡½Ã´Â À̽ºÄÉÀÌÇÁ·Î¼ Ãë±ÞµÇ´Â °ÍÀ» ÀǹÌÇÏ´Â,off°¡ µÇ¾î ÀÖ½À´Ï´Ù. À̰ÍÀº Àå·¡¿¡,PostgreSQLÀÇ ¸±¸®½º¿¡¼ Ç¥ÁذúÀÇ È£È¯¼ºÀ» Çâ»óÇϱâ À§Çؼ,on·Î º¯°æµÉ ¿¹Á¤ÀÔ´Ï´Ù. ¹®ÀÚ¿ ¸®ÅÍ·²ÀÌ Ã³¸®µÇ´Â ¹æ¹ýÀ» °áÁ¤ÇÏ´Â ÀÌ ¸Å°³º¯¼ö¸¦, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼öÀÇ Á¸Àç´Â, À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿ ±¸¹®(E'...')°¡ Áö¿øµÇ°í ÀÖ´ÂÁö ¾î¶²Áö¸¦ ³ªÅ¸³»´Â °ÍÀ¸·Î °£Áֵ˴ϴÙ. À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿ ±¸¹®Àº, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ¹é½½·¡½Ã¸¦ À̽ºÄÉÀÌÇÁ ¹®Àڷμ Ãë±ÞÇÏ°í ½ÍÀº °æ¿ì¿¡ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
À¯È¿ÀÇ °æ¿ì, expr = NULL(ȤÀºNULL = expr ) Çü½ÄÀÇ ½ÄÀº expr IS NULL·Î¼ Ãë±ÞµÇ¾î ±×°ÍÀº, ¸¸¾à expr °¡ NULL°ªÀ̶ó°í Æò°¡Çϸé true(Âü)À» ¹ÝȯÇϰí, ±×·¸Áö ¾ÊÀ¸¸é false(°ÅÁþ)À» ¹ÝȯÇÕ´Ï´Ù. expr = NULLÀÇ ¿Ã¹Ù¸¥ SQL »ç¾ç ÁذÅÀÇ ÇൿÀº Ç×»ó NULL(¾ËÁö ¾Ê´Â´Ù)¸¦ µ¹·ÁÁÖ´Â °ÍÀÔ´Ï´Ù. ±×·¯´Ï±î, ÀÌ ¸Å°³º¯¼öÀÇ µðÆúÆ®´Âoff°¡ µÇ¾î ÀÖ½À´Ï´Ù.
±×·¯³ª,Microsoft AccessÀÇ ÇÊÅÍ Çü½ÄÀº NULL°ªÀ» °Ë»çÇϱâ À§Çؼ expr = NULL¸¦ »ç¿ëÇÏ´Â Äõ¸®¸¦ »ý¼ºÇϱ⠶§¹®¿¡, ±× ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½º ÇÏ´Â °æ¿ì´Â, ÀÌ ¿É¼ÇÀ» À¯È¿ÇÏ°Ô ÇÏ´Â ÆíÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. expr = NULL¶ó°í ÇÏ´Â ÇüÅÂÀÇ ½ÄÀº(¿Ã¹Ù¸¥ ÇØ¼®À» »ç¿ëÇÑ °á°ú) Ç×»ó NULL°ªÀ» ¹ÝȯÇϱ⠶§¹®¿¡, Åë»óÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â Àǹ̰¡ °ÅÀÇ ¾ø°í, ºÐº°¾ø°Ô »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, ÀÌ ¿É¼ÇÀº ½ÇÁ¦·Î ÇØ·Î¿òÀº ¾ø½À´Ï´Ù. ±×·¯³ª, Àͼ÷ÇØÁöÁö ¾ÊÀº À¯Àú´Â ÀÚÁÖ NULL°ª¿¡ °üÇÑ ½ÄÀÇ Àǹ̿¡ ´çȲÇϱ⠶§¹®¿¡, µðÆúÆ®·Î ÀÌ ¿É¼ÇÀº À¯È¿ÇÏ°Ô µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.
ÀÌ ¿É¼ÇÀº= NULL¶ó°í ÇÏ´Â Çü½Ä¿¡¸¸ ¿µÇâÀ» ÁÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ´Ù¸¥ ºñ±³ ¿¬»êÀÚ³ª µî°¡ ¿¬»êÀÚ¸¦ È£ÃâÇÏ´Â ´Ù¸¥(IN¿Í °°Àº) ½Ä°ú °è»êÇϴµ¥ ÀÖ¾î¼ µî°¡°¡ µÇ´Â ½Ä¿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. µû¶ó¼, ÀÌ ¿É¼ÇÀº À߸øµÈ ÇÁ·Î±×·¡¹ÖÀÇ ¹ü¿ëÀûÀÎ ¹®Á¦ ÇØ°áÀ» ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.
°ü·ÃÇÏ´Â Á¤º¸´ÂSection 9.2À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.