10.1. °³¿ä

SQL´Â °­ÇÏ°Ô ÇüÅÂÈ­µÈ ¾ð¾îÀÔ´Ï´Ù. Áï, °¢ µ¥ÀÌÅÍ Ç׸ñÀº, ±× µ¿ÀÛ°ú Çã¶ôµÈ »ç¿ë¹ýÀ» °áÁ¤ÇÏ´Â ¿¬°ü µ¥ÀÌÅÍÇüÅÂÀ» ¼ÒÀ¯Çϰí ÀÖ½À´Ï´Ù. PostgreSQL¿¡´Â, ´Ù¸¥SQLÀÇ ½ÇÇຸ´Ù º¸´Ù ÀϹÝÀûÀ̾î À¯¿¬¼ºÀÌ ÀÖ´Â, È®Àå °¡´ÉÇÑ ÇüÅÂÀÇ ½Ã½ºÅÛÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡,PostgreSQL¿¡¼­ÀÇ ´ëºÎºÐÀÇ ÇüÅ º¯È¯ÀÇ µ¿ÀÛÀº, ƯÁ¤ÀÇ ¸ñÀû¿¡ ´ëÇØÀӽà º¯ÅëÀ¸·Î ÀÚ±âÇнÀÇÏ´Â °Íº¸´Ù ÀϹÝÀûÀÎ ±ÔÄ¢À¸·Î °ü¸®µÇ°í ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, »ç¿ëÀÚ Á¤ÀÇÇüÅ¿¡ ´ëÇØ¼­µµ È¥ÇÕÇüÅÂÀÇ ½ÄÀ» °¡Ä¡ ÀÖ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

PostgreSQLÀÇ ½ºÄ³³Ê/ÆÄ¼­´Â ¾îÈÖ ¿ä¼Ò¸¦, Á¤¼ö, ºñÁ¤¼öÄ¡, ¹®ÀÚ¿­, ½Äº°ÀÚ, Ű¿öµå·Î 5°³ÀÇ ±âÃÊ ¸ñ·ÏÀ¸·Î ºÐ¸®ÇÕ´Ï´Ù. ²÷ÀÓ¾øÀÌ ´ëºÎºÐÀÇ ºñ¼öÄ¡Çü Á¤¼ö´Â, ¿ì¼± ¹®ÀÚ¿­¿¡ ÀÇÇØ ºÐ·ù µË´Ï´Ù. SQL¾ð¾î Á¤ÀÇ¿¡¼­´Â, ¹®ÀÚ¿­ ÇüÅÂÀÇ À̸§À» ÁöÁ¤ÇÏ´Â °ÍÀ» Çã¶ôÇϰí ÀÖ¾î, ÆÄ¼­°¡ ¿Ã¹Ù¸¥ ¼ø¼­¿¡ µû¶ó 󸮸¦ ½ÃÀÛÇÒ ¼ö ÀÖµµ·ÏPostgreSQLµµ ä¿ëÇϰí ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ÀÌÇÏ¿Í °°Àº Äõ¸®¸¦ »ý°¢ÇØ º¾½Ã´Ù.

SELECT text 'Origin' AS "label", point '(0,0)' AS "value";

 label  | value
--------+-------
 Origin | (0,0)
(1 row)

ÀÌ Äõ¸®´Â,text¿Ípoint¶ó°í ÇÏ´Â 2°³ ÇüÅÂÀ¸·Î ÁöÁ¤ÇÑ ¹®ÀÚ»ó¼ö¸¦ °¡Áý´Ï´Ù. ¹®ÀÚ¿­ ¹®ÀÚ»ó¼ö¿¡ ÇüÅÂÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, Èļú ÇϵíÀÌ, ÈÄÀÇ ´Ü°è¿¡¼­ ÇØ°áµÇµµ·Ï ¿ì¼± Àå¼Ò¸¦ È®º¸Çϱâ À§ÇÑ ÇüÅÂÀÎunknown¸¦ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.

PostgreSQLÀÇ ÆÄ¼­¿¡´Â, °³º°ÀÇ ÇüÅ º¯È¯ ±ÔÄ¢ÀÌ ÇÊ¿äÇÑ 4°³ÀÇ ±âÃÊÀûÀÎSQL±âÃʱ¸¹®ÀÌ ÀÖ½À´Ï´Ù.

ÇÔ¼ö È£Ãâ

PostgreSQLÇüÅ ½Ã½ºÅÛÀÇ ´ëºÎºÐÀº, °íµµÀÇ ÇÔ¼ö±º¿¡ ÀÇÇØ ±¸ÃàµÇ°í ÀÖ½À´Ï´Ù. ÇÔ¼ö´Â º¹¼öÀÇ ÀÎÀÚ¸¦ ÃëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. PostgreSQL¿¡¼­´Â ÇÔ¼öÀÇ °úºÎÇϰ¡ °¡´ÉÇϹǷÎ, ÇÔ¼ö¸í¸¸À¸·Î´Â È£ÃâÇØ¾ß ÇÒ ÇÔ¼ö¸¦ ½Äº°ÇÒ ¼ö ¾ø½À´Ï´Ù. ÆÄ¼­´Â, Á¦°øµÇ´Â ÀÎÀÚÀÇ µ¥ÀÌÅÍÇüÅ¿¡ ±Ù°ÅÇØ, ¿Ã¹Ù¸¥ ÇÔ¼ö¸¦ ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

¿¬»êÀÚ

PostgreSQL¿¡¼­´Â, (ÀÎÀÚ°¡ 2°³ÀÇ) 2Ç׿¬»êÀÚ¿Í °°°Ô, (ÀÎÀÚ°¡ 1°³ÀÇ) ÀüÄ¡, ÈÄÄ¡´ÜÇ× ¿¬»êÀÚ¸¦ °¡Áö´Â ½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÔ¼ö¿Í °°ÀÌ, ¿¬»êÀÚµµ °úºÎÇϰ¡ °¡´ÉÇϹǷÎ, ¿Ã¹Ù¸¥ ¿¬»êÀÚ¸¦ ¼±ÅÃÇÒ ¶§¿¡ °°Àº ¹®Á¦°¡ Á¸ÀçÇÕ´Ï´Ù.

°ªÀÇ ÀúÀå

SQLÀÇINSERT¿ÍUPDATE¹®Àº ½ÄÀÇ °á°ú¸¦ Å×À̺í¾È¿¡ ÀúÀåÇÕ´Ï´Ù. ±¸¹®³»ÀÇ ½ÄÀº ÀÏÄ¡½ÃŰ°Å³ª Ÿ°Ù Ä÷³ÀÇ ÇüÅÂÀ» º¯È¯ÇÒ Çʿ䰡 ÀÖ´Â °ÍÀϼö ÀÖ½À´Ï´Ù.

UNION,CASE, ¹× °ü·ÃÇÏ´Â ±¸¹®

SELECT¹®À¸·ÎºÎÅÍ °áÇÕÈ­µÈ ¸ðµç Äõ¸® °á°ú´Â, ¾î´À 1°³ÀÇ Ä÷³ÁýÇÕÀ¸·Î¼­ ³ªÅ¸³»¾ß Çϱ⠶§¹®¿¡, °¢SELECT±¸ÀÇ °á°úÇüÅÂÀº ÅëÀÏµÈ ÁýÇÕ¿¡ ÀÏÄ¡½ÃŰ°Å³ª ¶È°°Àº ÇüÅ·Πº¯È¯ÇÒ ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î CASEÀÇ °á°ú ½Ä ±¸¹®ÀÌ ÀüüÀûÀ¸·Î ±âÁ¸ÀÇ Ãâ·Â ÇüŸ¦ °®±â ¶§¹®¿¡,CASE±¸¹®ÀÇ °á°ú½ÄÀº °øÅëÀÇ ÇüÅ·Πº¯È¯µÉ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰ÍÀºARRAY½Ä¿¡¼­µµGREATESTÇÔ¼ö,LEASTÇÔ¼ö¿¡¼­µµ °°½À´Ï´Ù.

½Ã½ºÅÛ Ä«Å»·Î±×¿¡´Â, µ¥ÀÌÅÍÇüŰ£ÀÇ º¯È¯(ij½ºÆ®¶ó°í ºÒ¸³´Ï´Ù)ÀÌ À¯È¿ÇѰ¡ ¾Æ´Ñ°¡¿¡ ±× º¯È¯ÀÇ ½ÇÇà ¹æ¹ý¿¡ °üÇÑ Á¤º¸¸¦ ÀúÀåÇÕ´Ï´Ù. »ç¿ëÀÚ´Â CREATE CAST ¸í·ÉÀ» »ç¿ëÇØ ij½ºÆ®¸¦ Ãß°¡ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù (À̰ÍÀº Åë»ó »õ·Î¿î µ¥ÀÌÅÍÇüÅ Á¤ÀÇÇѰÍÀ» ¿¬°áÇÒ¶§ ÇàÇØÁý´Ï´Ù. ³»ÀåÇü ÇüŰ£ÀÇ Ä³½ºÆ® ÁýÇÕÀº ÁÖÀÇ ±í°Ô ÀÛ¼ºµÇ°í ÀÖ°í º¯°æÇÏÁö ¾Ê´Â °ÍÀÌ ÃÖ¼±ÀÔ´Ï´Ù).

SQLÇ¥ÁØÇü¿¡ ´ëÇØ, ÆÄ¼­°¡ º¸´Ù ÀûÀýÇÑ ÃßÃø µ¿ÀÛÀ» ½Ç½ÃÇÒ ¼ö ÀÖµµ·Ï Ãß°¡ÀÇ ÀÚÀ² ±â±¸¸¦ °®Ãß°í ÀÖ½À´Ï´Ù. ±âº»ÀûÀÎÇüÅ ¸ñ·ÏÀ¸·Î¼­boolean,numeric,string,bitstring, datetime,timespan,geometric,network, »ç¿ëÀÚÁ¤Àǰ¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. »ç¿ëÀÚÁ¤ÀǸ¦ Á¦¿ÜÇÑ °¢ ¸ñ·ÏÀº, ¾Ö¸ÅÇÔÀÌ ÀÖ´Â °æ¿ì¿¡ ¿ì¼±ÀûÀ¸·Î ¼±ÅõǴÂ, 1°³ÀÌ»óÀǹٶ÷Á÷ÇÑ ÇüŸ¦ °¡Áý´Ï´Ù. »ç¿ëÀÚÁ¤ÀÇ ¸ñ·Ï¿¡¼­´Â, °¢°¢ÀÇ ÇüÅ´ ±×°Í ÀÚ½ÅÀÇ ¹Ù¶÷Á÷ÇÑ ÇüÅÂÀÔ´Ï´Ù. µû¶ó¼­, ¾Ö¸ÅÇÑ ½Ä(º¹¼öÀÇ ÇØ¼® °á°úÈ常¦ °¡Áö´Â °Í)Àº, º¹¼öÀÇ °¡´ÉÇÑ ³»ÀåÇü ÇüÅÂÀÌ ÀÖ¾ú´Ù°í ÇØµµ ÀÚÁÖ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, º¹¼öÀÇ »ç¿ëÀÚÁ¤ÀÇ ÇüÅ ¼±ÅûçÇ×ÀÌ ÀÖ´Â °æ¿ì¿¡´Â ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.

¸ðµç ÇüÅ º¯È¯ ±ÔÄ¢Àº ´ÙÀ½°ú °°Àº ¸î°³ÀÇ ±âº»ÀûÀÎ ¿ø¸®¿¡ ±Ù°ÅÇØ ¼³°èµÇ°í ÀÖ½À´Ï´Ù.