9.2. ºñ±³ ¿¬»êÀÚ

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¿Í °°´Ù´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.