NULLÀº ƯÁ¤ÇÑ °ªÀÌ ¾Æ´Ï¶ó ¾Ë¼ö ¾øÀ½, °áÁ¤µÇÁö ¾ÊÀ½À» ³ªÅ¸³»´Â Ư¼öÇÑ »óÅÂÀÔ´Ï´Ù. °ªÀÌ ¾Æ´Ï´Ù º¸´Ï NULLÀÌ ÁøÂ¥ °ª¿¡ ºñÇØ Å«Áö ÀÛÀºÁöµµ °áÁ¤ÇÒ ¼ö ¾øÀ¸¸ç Ç¥ÁØ¿¡µµ µüÈ÷ Á¤ÇØÁø ±ÔÁ¤ÀÌ ¾ø½À´Ï´Ù. ¿ö³« Ư¼öÇÑ °ªÀÌ´Ù º¸´Ï Å©±â¸¦ ¾î¶»°Ô Á¤ÀÇÇÏµç ¹®Á¦µÇÁö ¾ÊÁö¸¸ Á¤·ÄÇÒ ¶§´Â ½É¹ÌÀûÀÎ ¹®Á¦°¡ ¹ß»ýÇϴµ¥ ´ÙÀ½ Äõ¸®¹®À» º¸ÁÒ.
SELECT * FROM tStaff ORDER BY score;
Á÷¿ø Å×À̺íÀ» ¼ºÃëµµ¿¡ µû¶ó Á¤·ÄÇÏ´Â Äõ¸®¹®ÀÌµÇ score°¡ NULLÀÎ ÇàÀÌ µÎ °³ ÀÖ½À´Ï´Ù. ÀÌ Çʵ尡 ¾îµð¿¡ Ãâ·ÂµÇ´ÂÁö DBMSº°·Î »ìÆì º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.

SQL ¼¹ö´Â NULLÀ» °¡Àå ÀÛÀº °ªÀ¸·Î Æò°¡ÇÏ¿© Á¦ÀÏ ¸ÕÀú Ãâ·ÂÇÕ´Ï´Ù. ¹Ý¸é ¿À¶óŬÀº NULLÀ» °¡Àå Å« °ªÀ¸·Î Æò°¡ÇÏ¿© ¸¶Áö¸·¿¡ Ãâ·ÂÇÕ´Ï´Ù.

MySQL, MariaDB´Â SQL ¼¹ö¿Í ¸¶Âù°¡Áö·Î NULLÀ» °¡Àå ÀÛÀº °ªÀ¸·Î Ãë±ÞÇÕ´Ï´Ù. ¾î¶²°Ô ¸Â´Ù°í ´ÜÁ¤ÇÒ ¼ö ¾øÁö¸¸ ¾î¶²°Ô ´õ ÀûÇÕÇѰ¡´Â ÃëÇâÀÌ °¥¸± ¼ö ÀÖ´Â ¹®Á¦ÀÔ´Ï´Ù. ¾Ë ¼öµµ ¾ø´Â °ªÀ» Á¦ÀÏ ¸ÕÀú Ãâ·ÂÇÏ´Â °ÍÀÌ º¸±â ½ÈÀ» ¼öµµ ÀÖ°í Á¦ÀÏ Å« °ªÀ¸·Î Ãë±ÞÇÏ´Â °Íµµ ¹º°¡ ¾î»öÇÕ´Ï´Ù. ¾ÈŸ±õ°Ôµµ NULL°ªÀÇ ¼ø¼¸¦ ÁöÁ¤ÇÏ´Â º°µµÀÇ ¸í·ÉÀº ¾ø½À´Ï´Ù. ORDER BYÀÇ µÚ¿¡ desc¸¦ ºÙÀÌ¸é ¹Ý´ëÀÇ °á°ú°¡ ³ª¿ÀÁö¸¸ ÀÌ °æ¿ì °ªÀÌ ÀÖ´Â ·¹ÄÚµåÀÇ ¼ø¼µµ ¿µÇâÀ» ¹Þ¾Æ NULL°ªÀÇ ¼ø¼¸¸ Á¶Á¤ÇÏ´Â ¸í·ÉÀº ¾Æ´Õ´Ï´Ù.
ULL°ªÀÇ ¼ø¼¸¦ Á¶Á¤ÇÏ·Á¸é ¿©·¯ °¡Áö ¹æ¹ýÀ» ¾µ ¼ö ÀÖ½À´Ï´Ù. ¿ì¼± NULLÀ» ƯÁ¤°ªÀ¸·Î °¡Á¤ÇÏ´Â ¸í·ÉÀ» »ç¿ëÇÒ ¼ö Àִµ¥ SQL ¼¹ö´Â ISNULL, ¿À¶óŬÀº NVL, ¸¶¸®¾Æ´Â NULLIF¸¦ ¾¹´Ï´Ù. NULLÀ» ÃæºÐÈ÷ Å« °ªÀ̳ª ÃæºÐÈ÷ ÀÛÀº °ªÀ¸·Î ġȯÇÏ¸é ¿øÇÏ´Â ÀÚ¸®¿¡ Ãâ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
SELECT * FROM tStaff ORDER BY ISNULL(score, 100);
SELECT * FROM tStaff ORDER BY NVL(score, 0);
SQL ¼¹ö´Â score°¡ NULLÀÏ ¶§ 100Á¡À¸·Î Ä¡¸é NULLÀÌ Á¦ÀÏ ¾Æ·¡·Î ³»·Á°¡¸ç ¿À¶óŬÀº 0Á¡À¸·Î Ä¡¸é Á¦ÀÏ À§·Î ¿Ã¶ó°©´Ï´Ù. ISNULL(score, 50)À̳ª NVL(score, 50)À¸·Î ÁöÁ¤Çϸé NULLÀÌ Áß°£Âë¿¡ ³¢¾îµé±âµµ Çϰí¿ä. ¸¶¸®¾Æ´Â NULLIF(score, 100)À¸·Î ÇØµµ ¸»À» µèÁö ¾Ê½À´Ï´Ù.
ÀÌ ¹æ¹ýÀº °£ÆíÇÏ°Ô ¾µ ¼ö ÀÖ´Â ¹æ¹ýÀÏ »Ó ¿Ïº®ÇÏÁö´Â ¾Ê½À´Ï´Ù. ÃæºÐÈ÷ Å«°ª, ÃæºÐÈ÷ ÀÛÀº °ªÀ» Çʵå ŸÀÔ¿¡ µû¶ó Àß ¼±Á¤ÇØ¾ß ÇÏ¸ç ±×³ª¸¶µµ DBMS¸¶´Ù ¹æ¹ýÀÌ ´Þ¶ó ȣȯ¼ºÀÌ ¾ø½À´Ï´Ù. Á¤¼®ÀûÀÎ ¹æ¹ýÀÌ ÀÖÁö¸¸ DBMS¸¶´Ù Á¶±Ý¾¿ ´Ù¸¨´Ï´Ù. ¿À¶óŬÀÌ °¡Àå ±ò²ûÇÕ´Ï´Ù.
SELECT * FROM tStaff ORDER BY score NULLS first ¶Ç´Â last;
ORDER BY µÚ¿¡ NULLS first ¶Ç´Â NULLS last ±¸¹®À¸·Î NULLÀ» Á¦ÀÏ Ã³À½¿¡ µÑ °ÍÀΰ¡ ¸¶Áö¸·¿¡ µÑ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®°¡ lastÀÏ »Ó first·Î ¹Ù²Ü ¼ö ÀÖ¾î Æí¸®ÇÕ´Ï´Ù. ¸¶¸®¾Æ´Â ´ÙÀ½ ±¸¹®À» »ç¿ëÇÕ´Ï´Ù.
SELECT * FROM tStaff ORDER BY score IS NULL ASC, score;
NULLÀÎ »óÅ¿¡ ´ëÇØ ¿À¸§Â÷¼ø Á¤·ÄÇϸé NULLÀÌ Á¦ÀÏ ¾Æ·¡·Î À̵¿ÇÏ¸ç ³»¸²Â÷¼ø Á¤·ÄÇϸé Á¦ÀÏ À§·Î ¿Ã¶ó¿É´Ï. ±×¸®°í 2Â÷ Á¤·Ä ±âÁØÀ¸·Î score¸¦ ÁöÁ¤Çϸé NULL ¾Æ´Ñ Çà³¢¸® ¼ºÀû¼øÀ¸·Î Á¤·ÄµË´Ï´Ù. MSSQLÀÇ ¹æ½Äµµ ÀÌ¿Í À¯»çÇ쵂 CASE¹®À» »ç¿ëÇÕ´Ï´Ù.
SELECT * FROM tStaff ORDER BY CASE WHEN score IS NULL THEN 1 ELSE 0 END, score;
NULL¿©ºÎ¿¡ µû¶ó 1 ¶Ç´Â 0ÀÇ °ªÀ» ¸¸µç ÈÄ ÀÌ °ªÀ» 1Â÷ Á¤·Ä ±âÁØÀ¸·Î »ç¿ëÇϰí NULLÀÌ ¾Æ´Ñ °æ¿ì´Â ¼ºÀû¼øÀ¸·Î Á¤·ÄÇÕ´Ï´Ù.
ÀÌ·¡ Àú·¡ NULLÀº Âü °ñÄ¡ ¾ÆÇ °ªÀÔ´Ï´Ù. »óȲ¿¡ ¸Â°Ô °¡Àå ÀûÀýÇÑ ¹æ¹ýÀ» ¼±ÅÃÇØ ¾µ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.

°³¹ßÀÚÀÇ Ãµ±¹ SoEn |
|