| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 9. ÇÔ¼ö¿Í ¿¬»êÀÚ | Fast Forward | Next |
Table 9-1¿¡ ³ªÅ¸³»´Â, Åë»óÀÇ ºñ±³ ¿¬»êÀÚ´Â »ç¿ë °¡´ÉÇÕ´Ï´Ù.
Table 9-1. ºñ±³ ¿¬»êÀÚ
| ¿¬»êÀÚ | ¼³¸í |
|---|---|
| < | ÀÛ´Ù |
| > | Å©´Ù |
| <= | À۰ųª °°´Ù |
| >= | Å©°Å³ª °°´Ù |
| = | °°´Ù |
| <> ¶Ç´Â ! = | °°Áö ¾Ê´Ù |
Note: ! =¿¬»êÀÚ´Â ±¸¹® ºÐ¼®À¸·Î<>¿¡ º¯È¯µË´Ï´Ù. ! =¿¬»êÀÚ¿Í<>¿¬»êÀÚ¿¡ ´Ù¸¥ 󸮸¦ ½Ç½ÃÇÏ°Ô ÇÏ´Â ½ÇÇàÀº ÇÒ ¼ö ¾ø½À´Ï´Ù.
ºñ±³ ¿¬»êÀÚ´Â ±× Àǹ̰¡ ÅëÇÑ´Ù¸é ¸ðµç µ¥ÀÌÅÍÇüÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç ºñ±³ ¿¬»êÀÚ´Â 2Ç׿¬»êÀÚ·Î,booleanµ¥ÀÌÅÍÇüÀ» ¹ÝȯÇÕ´Ï´Ù. 1 < 2 < 3°ú °°Àº ½ÄÀº(ºÒ¸®¾ð °ª°ú3À» ºñ±³ÇÏ´Â<¿¬»êÀÚ°¡ ¾ø±â ¶§¹®¿¡) À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.
ºñ±³ ¿¬»êÀÚ¿¡ °¡¼¼ÇØ Æ¯¼öÇÑBETWEEN±¸¹®À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
a BETWEEN x AND y
¿Í µ¿ÀÏÇÕ´Ï´Ù.
a >= x AND a <= y
¿Í µ¿ÀÏÇϰÔ
a NOT BETWEEN x AND y
¿Í µ¿ÀÏÇÕ´Ï´Ù.
a < x OR a > y
³»ºÎÀûÀ¸·Î ÃÖÃÊÀÇ Çü½ÄÀ» 2¹øÂ°ÀÇ Çü½Ä¿¡ °íÃÄ ¾²´Âµ¥ ÇÊ¿äÇÑCPU»çÀÌŬ ÀÌ¿Ü °¢°¢ÀÇ Çü½Ä¿¡´Â Â÷ÀÌ´Â ¾ø½À´Ï´Ù. BETWEEN SYMMETRIC´Â,ANDÀÇ ÁÂÃøÀÇ Àμö°¡ ¿ìÃøÀÇ Àμöº¸´Ù ÀÛÀºÁö, ȤÀº µ¿ÀÏÇÒ Çʿ伺ÀÌ ¾ø´Â Á¡À» Á¦¿ÜÇϰí BETWEEN¿Í °°½À´Ï´Ù. ÀûÀýÇÑ ¹üÀ§´Â ÀÚµ¿ÀûÀ¸·Î °áÁ¤µË´Ï´Ù.
°ªÀÌ NULLÀÎÁö NULLÀÌ ¾Æ´ÑÁö¸¦ °ËÁõÇÏ·Á¸é ´ÙÀ½ÀÇ ±¸¹®À» »ç¿ëÇÕ´Ï´Ù.
expression IS NULL expression IS NOT NULL
ȤÀº, À̰Ͱú µ¿µîÀÇ, ºñÇ¥ÁØÀÇ ±¸¹®µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
expression ISNULL expression NOTNULL
NULL¿ÍNULL¿Í´Â"µ¿ÀÏÇÑ"°ü°è´Â ¾Æ´Ï±â ¶§¹®¿¡, expression = NULL¶ó°í ±â¼úÇØ¼´Â ¾ÈµË´Ï´Ù (NULL°ªÀº ºÒ¸íÀÇ °ªÀ» ³ªÅ¸³»°í Àֱ⠶§¹®¿¡, ºÒ¸íÇÑ °ª³¢¸® °°ÀºÁö, ´Ù¸¥Áö ½Äº°ÇÒ ¼ö ¾ø½À´Ï´Ù). À̰ÍÀº Ç¥ÁØ SQL¿¡ µû¸¥ µ¿ÀÛÀÔ´Ï´Ù.
Tip: ¾ÖÇø®ÄÉÀ̼ǿ¡ µû¶ó¼´Â, expression = NULL°¡, expression °¡ NULL°ªÀ̶ó°í Æò°¡µÈ´Ù¸é True¸¦ ¹ÝȯÇÏ´Â °ÍÀ» ±â´ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀº Ç¥ÁØ SQL¿¡ µû¸£µµ·Ï º¯°æÇÏ´Â °ÍÀ» °ÇÏ°Ô Ãßõ ÇÕ´Ï´Ù. ±×·¯³ª, ±×°ÍÀ» ÇÒ ¼ö ¾øÀ¸¸étransform_null_equalsÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î ´ëÀÀÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀ» À¯È¿ÇÏ°Ô ÇßÀ» °æ¿ì,PostgreSQL´Âx = NULL±¸¸¦x IS NULL·Î º¯È¯ÇÕ´Ï´Ù. À̰ÍÀºPostgreSQLÀÇ ¸±¸®½º 6.5¿¡¼ 7.1±îÁö´Â µðÆúÆ®¿´½À´Ï´Ù.
Note: expression °¡ Çà°ªÀÇ °æ¿ì, Çà½Ä ÀÚü°¡ NULL ¶Ç´Â, ÇàÀÇ ÇÊµå ¸ðµç °ÍÀÌ NULLÀÇ °æ¿ì¿¡IS NULL´Â true°¡ µË´Ï´Ù. ÇÑÆíIS NOT NULL´Â, Çà½Ä ÀÚü°¡ ºñNULL ¶Ç´Â, ÇàÀÇ ÇÊµå ¸ðµç °ÍÀÌ ºñNULLÀÇ °æ¿ì¿¡ true°¡ µË´Ï´Ù. ÀÌ Á¤ÀǴ ǥÁØ SQL¿¡ µû¸¥ °ÍÀ¸·Î, 8.2º¸´Ù ÀüÀÇ ¹öÁ¯ÀÇPostgreSQL¿¡ ÀÖ¾î¼ÀÇ Àϰü¼ºÀÌ ¾ø´Â µ¿ÀÛÀ¸·ÎºÎÅÍ º¯°æµÇ¾ú½À´Ï´Ù.
ÀÔ·ÂÀÇ ¾î´À ÂÊÀÌ NULLÀÎ °æ¿ì, Åë»óÀÇ ºñ±³ ¿¬»êÀÚ´Â("ºÒ¸í"À» ÀǹÌÇÑ´Ù) NULLÀ» »ý¼ºÇÕ´Ï´Ù. ºñ±³¸¦ ½Ç½ÃÇÏ´Â ´Ù¸¥ ¹æ¹ýÀ¸·Î¼ ÀÌÇÏ¿Í °°ÀÌIS [ NOT ] DISTINCT FROM±¸¹®ÀÌ ÀÖ½À´Ï´Ù.
expression IS DISTINCT FROM expression expression IS NOT DISTINCT FROM expression
ºñNULLÀÇ ÀÔ·ÂÀ¸·Î´Â,IS DISTINCT FROM´Â<>¿¬»êÀÚ¿Í °°½À´Ï´Ù. ±×·¯³ª, ÀÔ·ÂÀÌ µÑ´Ù NULLÀÎ °æ¿ì, À̰ÍÀº false¸¦ ¹ÝȯÇÏ¿©, ´Ù¸¥ ÇÑÂÊÀÇ ÀԷ¸¸ÀÌ NULLÀÎ °æ¿ì´Â true¸¦ ¹ÝȯÇÕ´Ï´Ù. °°ÀÌIS NOT DISTINCT FROM´Â ºñNULL ÀÔ·ÂÀ¸·Î´Â=°ú °°½À´Ï´Ù¸¸, ¾çÂÊ ¸ðµÎÀÇ ÀÔ·ÂÀÌ NULLÀ̸é true¸¦, ´Ù¸¥ ÇÑÂʸ¸ÀÌ NULLÀÇ °æ¿ì´Â false¸¦ ¹ÝȯÇÕ´Ï´Ù. ÀÌ¿Í °°ÀÌ, ÀÌ·¯ÇÑ ±¸¹®Àº NULLÀ»"ºÒ¸íÇÑ °ª"º¸´Ù´Â, Åë»óÀÇ µ¥ÀÌÅͰª°ú °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
³í¸®°ªµµ ´ÙÀ½ÀÇ ±¸¹®À¸·Î °ËÁõÇÒ ¼ö ÀÖ½À´Ï´Ù.
expression IS TRUE expression IS NOT TRUE expression IS FALSE expression IS NOT FALSE expression IS UNKNOWN expression IS NOT UNKNOWN
À̰͵éÀº, Ç×»ó true³ª false¸¦ µ¹·ÁÁÖ¾î, ¿¬»ê Ç׸ñÀÌ NULLÀÌ¿©µµ NULL°ªÀ» ¹ÝȯÇÏÁö ¾Ê½À´Ï´Ù. NULL°ªÀÌ ÀԷµǸé,"ºÒ¸í"À̶ó°í ÇÏ´Â ³í¸®Ä¡·Î¼ ´Ù·ç¾îÁý´Ï´Ù. IS UNKNOWN¿ÍIS NOT UNKNOWN°¡, ÀԷ½ÄÀÌ ³í¸®Ä¡ÇüÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù°í ÇÏ´Â Á¡À» Á¦¿ÜÇϰí, °¢°¢ ½ÇÁúÀûÀ¸·ÎIS NULL¿ÍIS NOT NULL¿Í °°´Ù´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.