RDBMS VERSION
RDBMS | VERSION | VERSION CHECK SQL |
TIBERO | 7 FS02 (Compiled at Jun 20 2022 11:29:40 build seq 202489 init rev {2022-03-10}) | SELECT * FROM VT_VERSION; |
ORACLE | Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production | SELECT * FROM V$VERSION; |
MySQL | 8.0.29 | SELECT VERSION(); |
MariaDB | 10.8.3-MariaDB-1:10.8.3+maria~jammy | SELECT VERSION(); |
MS SQL Server | Microsoft SQL Server 2022 (CTP2.0) - 16.0.600.9 (X64) | SELECT @@VERSION; |
IBM Db2 | DB2 v11.5.7.0 | SELECT * FROM SYSIBMADM.ENV_INST_INFO; |
PostgreSQL | PostgreSQL 14.3 (Debian 14.3-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit | SELECT VERSION(); |
CUBRID | 11.2.0.0658 | SELECT VERSION(); |
NULL
โข
NULL์ ์ถ์์ ์ธ ์๋ฏธ
โฆ
๋ฏธ์ง์ ๊ฐ
โฆ
์ ์ ์๋ ๊ฐ
โฆ
์ ํด์ง์ง ์์ ๊ฐ
โข
NULL โ ์คํ์
๋ง์ปค
NULL ์ ์ฅ
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
'NULL' | string | string | string | string | string | string | string | string | string |
' ' | string | string | string | string | string | string | string | string | string |
'' | NULL | NULL | string | string | string | string | string | string | string |
โข
'' โ empty ๊ฐ์ NULL ๋๋ string์ผ๋ก RDBMS ๋ง๋ค ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ์์
์ด๊ธฐ์ข
RDBMS๊ฐ์ ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์
์์
์ํ ์ ์ฃผ์
ORACLE (NULL) โ PostgreSQL(NULL) : ๋ฌธ์ ์์
PostgreSQL('') โ ORACLE(NULL) : '' ๊ฐ์ด NULL๋ก ์นํ ๋์ด ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ // '' ๊ฐ์ ์
๋ ฅ ์ ORACLE NOT NULL ์ ์ฝ ์กฐ๊ฑด์ ์ํด ์
๋ ฅ ์คํจ ํ ์ ์์ (์ฌ์ ํ์ ํ์)
NULL ์ ์ฅ SQL
NULL ํฌ๊ธฐ
โข
์ ํด์ง์ง ์์ ๊ฐ์ด๋ผ๊ณ ํ์ง๋ง ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ํด์ง์ง ์์ ๊ฐ์ด๋ผ๊ณ ๋งํน ์ ๋๋ ํด์ฃผ์ด์ผํ๊ธฐ ๋๋ฌธ์ ๋ถ๋ช
NULL๋ ์ ํด์ง ํฌ๊ธฐ๊ฐ ์์
TIBERO
ORACLE
TIBERO | ORACLE
MySQL / MariaDB
PostgreSQL
MS SQL Server
CUBRID
IBM Db2
RDBMS๋ณ NULL์ด HEAP์ ์ ์ฅ๋๋ ์ค์ ํฌ๊ธฐ
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | CUBRID |
NULL ํฌ๊ธฐ (byte) | 0 | 0 ๋๋ 1 | 0 | 0 | 0 | 0 | - | 0 ๋๋ ์ ์ธ๋ ๋ฐ์ดํฐ ํ์
์ ๋ฐ๋ฆ |
NULL ์ฒ๋ฆฌ ๋ฐฉ์
SELECT NULL
SELECT ์ NULL ์ฐ์ฐ
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
1 + NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
1 - NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
1 * NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
1 / NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
SELECT ์ NULL ๋ฌธ์ ๊ฒฐํฉ
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
'A'||NULL||'Cโ | AC | AC | NULL (์ฐ์ฐ) | NULL (์ฐ์ฐ) | - | NULL | NULL | NULL | NULL |
'A'+NULL+'Cโ | - | NULL (์ฐ์ฐ) | NULL (์ฐ์ฐ) | NULL (์ฐ์ฐ) | NULL | - | - | NULL (์ฐ์ฐ) | NULL |
CONCAT('A',NULL,'C') | - | - | NULL | NULL | AC | AC | - | - | NULL |
CONCAT('A',NULL) | A | A | NULL | NULL | A | A | NULL | - | NULL |
โข
NULL (์ฐ์ฐ) : ๋ฌธ์ ๊ฒฐํฉ์ด ์๋ ๋ฌธ์ ์ฐ์ฐ
โข
- : ๋ฏธ์ง์
SELECT ์ NULL ๋ ์ง์๊ฐ ์ฐ์ฐ
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
๋ ์ง์๊ฐํจ์ + NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
SELECT ์ NULL ๋ถ์ธ ๋น๊ต
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
NULL or TRUE | - | - | TRUE (1) | TRUE (1) | - | TRUE | TRUE | TRUE (1) | - |
NULL or FALSE | - | - | NULL | NULL | - | NULL | NULL | NULL | - |
โข
TRUE : TRUE ๋ฐํ
โข
TRUE (1) : 1 ๋ฐํ
โข
- : ๋ฏธ์ง์
SELECT ์ NULL์ฒ๋ฆฌ SQL
์ง๊ณ ํจ์
โข
ํ
์คํธ ๊ฒฐ๊ณผ๋ฅผ ํตํด NULL๊ณผ์ ์ฐ์ฐ/ ๋น๊ต๋ NULL์ฒ๋ฆฌ๊ฐ ๋๊ฑฐ๋ NULL์ ๋ฌด์ํด๋ฒ๋ฆฝ๋๋ค.
โข
์ง๊ณ ๊ด๋ จ ํจ์์์๋ NULL์ด ํฌํจ๋ ๋ก์ฐ๋ก ์ธํ ์ด๋ค ์ํฅ์ด ์์๊น์
ํ
์คํธ ํ
์ด๋ธ
x | xx |
1 | NULL |
2 | NULL |
3 | NULL |
4 | 40 |
5 | 50 |
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
COUNT(*) | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
COUNT(x) | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
COUNT(xx) | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
SUM(x) | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
SUM(xx) | 90 | 90 | 90 | 90 | 90 | 90 | 90 | 90 | 90 |
SUM(x+xx) | 99 | 99 | 99 | 99 | 99 | 99 | 99 | 99 | 99 |
AVG(x) | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
AVG(xx) | 45 | 45 | 45 | 45 | 45 | 45 | 45 | 45 | 45 |
AVG(x+xx) | 49.5 | 49.5 | 49.5 | 49.5 | 49 | 49.5 | 49 | 49.5 | 49.5 |
โข
์ง๊ณ ํจ์์์๋ NULL ๋ก์ฐ๋ ํฌํจํ์ง ์๊ณ ์ง๊ณ๊ฐ ์ํ ๋ฉ๋๋ค.
โฆ
COUNT(xx), SUM(xx), AVG(xx)
โข
์ง๊ณ ํจ์์์ ๋๊ฐ ์ด์์ COLUMN์ ๊ฐ์ดํ ๊ฒฝ์ฐ NULL ๋ก์ฐ์ ํด๋นํ๋ ๊ฐ์ ์ ๋ถ ๋ฌด์ ๋ฉ๋๋ค.
โฆ
x ์ปฌ๋ผ๊ณผ xx์ปฌ๋ผ์ NULL ๊ฐ์ ๊ณ ๋ คํ์ง ์๊ณ ์ง๊ณ ํจ์๊ฐ ์ฌ์ฉ ๋ ๊ฒฝ์ฐ ์๋ํ ๊ฒฐ๊ณผ๊ฐ ๋์ถ ๋์ง ์์ ์ ์์ต๋๋ค.
โฆ
SUM(x+xx), AVG(x+xx)
โข
๋น๊ต ๋์ RDBMS ๋ชจ๋ ๋์ผ ํฉ๋๋ค. ๋ค๋ง, ์์์ ์ฒ๋ฆฌ์์ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
โฆ
์์์ ์๋ฆฌ๋ฅผ ๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์.
โช
MS SQL, IBM Db2 : ์ ์๋ฅผ ์ฐ์ฐํ์ ๋ ์์์ ์ด ๋์ค๋ฉด ๋ฒ๋ฆฌ๋ ํน์ฑ
์ฃผ์ ์ฌํญ
โข
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ํ์ง ์๋ ํจ์๊ฐ ์๋ ๊ฒฝ์ฐ PROCEDURE๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉ ํ ๋ ์ฃผ์
์ธ๋ถ ํจ์/ํ๋ก์์ ์์ฑ ์ ์ฃผ์ SQL
์ง๊ณ ํจ์ NULL์ฒ๋ฆฌ SQL
NULL ์ ๋ ฌ
์ซ์ํ
x | xx |
1 | NULL |
2 | NULL |
3 | NULL |
4 | 40 |
5 | 50 |
6 | NULL |
๋ฌธ์ํ
x | xx |
1 | NULL |
2 | NULL |
3 | NULL |
4 | A |
5 | Z |
6 | NULL |
๋ ์งํ
x | xx |
1 | NULL |
2 | NULL |
3 | NULL |
4 | 2022-01-01 00:00:00.000 |
5 | 2022-12-31 00:00:00.000 |
6 | NULL |
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | SQLite | CUBRID |
NUMBER ORDER BY xx ASC; | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ |
STRING ORDER BY xx ASC; | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ |
DATETIME ORDER BY xx ASC; | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ํฐ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ | ๊ฐ์ฅ ์์ ๊ฐ |
๊ฐ์ฅ ์์ ๊ฐ
๊ฐ์ฅ ํฐ ๊ฐ
โข
ORDER BY ๋ฅผ ์ํํ์ฌ ์ ๋ ฌ์ ์ํํ๋ฉด ๋ถ๋ช
NULL์ ํฌ๊ณ ์์์ ํ์ธ ํ ์ ์์ต๋๋ค.
โข
MIN/MAX ์ง๊ณ ํจ์ ๊ฒฐ๊ณผ์์๋ NULL์ ๊ฐ์ผ๋ก ์ฒ๋ฆฌํ์ง ์์
RDBMS | ORACLE, TIBERO, MySQL, MariaDB, MS SQL Server, PostgreSQL, IBM Db2, SQLite, CUBRID |
NUMBER MIN(x),MIN(xx) | 1 40 |
NUMBER MAX(x),MAX(xx) | 6 50 |
STRING MIN(x),MIN(xx) | 1 A |
STRING MAX(x),MAX(xx) | 6 Z |
DATETIME MIN(x),MIN(xx) | 1 2022-01-01-00.00.00.000000 |
DATETIME MAX(x),MAX(xx) | 6 2022-12-31-00.00.00.000000 |
NULL SORT SQL
NULL INDEX
INDEX์ NULL
1๋ฒ SQL : SELECT * FROM tbl WHERE xx IS NOT NULL;
2๋ฒ SQL : SELECT * FROM tbl WHERE xx IS NULL;
CREATE INDEX idx_tbl_x ON tbl(xx);
SQL
๋ณต์ฌ
โข
INDEX์ NULL ํฌํจ
โฆ
1๋ฒ SQL : NULL์ด ์๋ ๊ฒ๋ง INDEX FFS SCAN ์ํ
โฆ
2๋ฒ SQL : NULL์ธ ๊ฒ์ ์ฐพ๊ธฐ ์ํด INDEX RANGE SCAN ์ํ
โข
INDEX์ NULL ๋ฏธํฌํจ
โฆ
1๋ฒ SQL : NULL์ด ์๋ ๊ฒ๋ง INDEX FFS SCAN ์ํ
โฆ
2๋ฒ SQL : NULL์ธ ๊ฒ์ ์ฐพ๊ธฐ ์ํด TABLE ACCESS (FULL) ์ํ
๋ฐ์ดํฐ ๊ฑด์(NOT NULL: 60,000 / NULL: 4,000)
TOTAL_CNT | NOTNULL_CNT | NULL_CNT |
64,000 | 60,000 | 4,000 |
๋ฐ์ดํฐ ๋ถํฌ๋
X | XX | COUNT(*) |
1 | NULL | 1,000 |
2 | 20 | 10,000 |
3 | NULL | 1,000 |
4 | 40 | 10,000 |
5 | NULL | 1,000 |
6 | 60 | 10,000 |
7 | 70 | 10,000 |
8 | NULL | 1,000 |
9 | 90 | 10,000 |
10 | 100 | 10,000 |
TIBERO
ORACLE
MySQL / MariaDB
PostgreSQL
MS SQL Server
IBM Db2
CUBRID
RDBMS๋ณ INDEX์ NULL ํฌํจ ์ฌ๋ถ ํ์ธ
RDBMS | ORACLE | TIBERO | MySQL | MariaDB | MS SQL Server | PostgreSQL | IBM Db2 | CUBRID |
INDEX NULL ํฌํจ ์ฌ๋ถ (๋จ์ผ) | X (๋จ์ผ) | X (๋จ์ผ) | O (๋จ์ผ,๋ณตํฉ) | O (๋จ์ผ,๋ณตํฉ) | O (๋จ์ผ,๋ณตํฉ) | O (๋จ์ผ,๋ณตํฉ) | O (๋จ์ผ,๋ณตํฉ) | X (๋จ์ผ) |
RDBMS | ORACLE | TIBERO | CUBRID |
๋จ์ผ ์ปฌ๋ผ | X | X | X |
๋ณตํฉ ์ปฌ๋ผ
ํน์ ์ปฌ๋ผ์ NOT NULL์ผ ๊ฒฝ์ฐ | O | O | X |
๋ณตํฉํค NULL ์ธ๋ฑ์ค ๊ตฌ์ฑ ๊ฒ์ฆ SQL
โข
IS NULL
โฆ
INDEX์ NULL ํฌํจ RDBMS
โช
INDEX ์ค์บ์ ํตํด NULL์ ๊ฒฐ๊ณผ ํ์ธ
โฆ
INDEX์ NULL ๋ฏธํฌํจ RDBMS
โช
ํจ์ ๊ธฐ๋ฐ ์ธ๋ฑ์ค ํ์ฉ : NVL(xx, โunkownโ) ํํ๋ก ๋ง๋ค์ด์ ํ์ฉ
โช
ORACLE, TIBERO์ ๊ฒฝ์ฐ ๋ณตํฉ ์ธ๋ฑ์ค ์ปฌ๋ผ์ ํฌํจ ๋ ์ปฌ๋ผ์ด 1๊ฐ ์ด์ NOT NULL ์ ์ฝ ์กฐ๊ฑด์ ํด๋นํ๋ฉด ๋ค๋ฅธ ์ปฌ๋ผ์ NULL์ ํฌํจํ๋ค.
โข
([notnull column], xx)
โช
ORACLE, TIBERO์ ๊ฒฝ์ฐ ๋ณตํฉ ์ธ๋ฑ์ค ๊ตฌ์ฑ ์ NOT NULL ์ ์ฝ ์กฐ๊ฑด ์ปฌ๋ผ์ด ์์ ๊ฒฝ์ฐ NULL์ ์ธ๋ฑ์ค์ ํฌํจํ๊ณ ์ถ์ ๊ฒฝ์ฐ
โข
(xx,โ1โ)
โข
IS NOT NULL
โฆ
INDEX์ NULL ํฌํจ RDBMS
โช
INDEX ์ค์บ์ ํตํด NULL์ด ์๋ ๊ฒฐ๊ณผ ํ์ธ
โฆ
INDEX์ NULL ๋ฏธํฌํจ RDBMS
โช
ํด๋น ์ปฌ๋ผ์ MIN ๊ฐ์ ๊ตฌํด์ ํ์ฉ
โข
๊ณต๋ฐฑ์ string์ผ๋ก ์ฒ๋ฆฌํ๋ RDBMS์ ๊ฒฝ์ฐ
โฆ
์ ์ ๋๋ ๋ฌธ์: WHERE xx >=โโ; ํ์ฉ
โฆ
์์ : WHERE xx > (select MIN(xx)-99 from tbl9_null limit1);
โข
ORACLE, TIBERO๋ INDEX FFS ์๋์ผ๋ก ๋์
โช
ORACLE, TIBERO์ ๊ฒฝ์ฐ ๋ณตํฉ ์ธ๋ฑ์ค ์ปฌ๋ผ์ ํฌํจ ๋ ์ปฌ๋ผ์ด 1๊ฐ ์ด์ NOT NULL ์ ์ฝ ์กฐ๊ฑด์ ํด๋นํ๋ฉด ๋ค๋ฅธ ์ปฌ๋ผ์ NULL์ ํฌํจํ๋ค.
โข
([notnull column], xx)
โช
ORACLE, TIBERO์ ๊ฒฝ์ฐ ๋ณตํฉ ์ธ๋ฑ์ค ๊ตฌ์ฑ ์ NOT NULL ์ ์ฝ ์กฐ๊ฑด ์ปฌ๋ผ์ด ์์ ๊ฒฝ์ฐ NULL์ ์ธ๋ฑ์ค์ ํฌํจํ๊ณ ์ถ์ ๊ฒฝ์ฐ
โข
(xx,โ1โ)
์ ๋ฆฌ
NULL ์ ์ฅ
โข
'' (empty) ๊ฐ์ด RDBMS(์ดํ: DB) ๋ง๋ค NULL ๋๋ ๋ฌธ์์ด ์ทจ๊ธ์ด ๋ค๋ฅด๋ค.
โข
๋ฌธ์์ด ์ทจ๊ธ DB์์ NULL ์ฒ๋ฆฌ DB๋ก ์ด๊ด ์ ์ฃผ์ ํ์ (๊ฒฐ๊ณผ ๊ฐ์ด ๋ฌ๋ผ์ง ์ ์์ผ๋ฉด ์ ์ฝ ์กฐ๊ฑด ์๋ฐ์ด ๋์ด ์ด๊ด ์์ฒด ๊ฑด์์์ ๋ฐฐ์ ๋ ์ ์๋ค.)
NULL ํฌ๊ธฐ
โข
DB๋ง๋ค NULL ํฌ๊ธฐ 3๊ฐ ํจํด์ด ์๋ค.
โฆ
NULL ๋ฌด์กฐ๊ฑด 0 byte
โฆ
TIBERO์ ๊ฒฝ์ฐ ์ฐ์ ๋ NuLL์ ๋ํ ํฌ๊ธฐ ๋ถ์ฌ
col1 | col2 | col3 | BYTE |
NULL | NULL | NULL | 1 + 0 + 0 |
col1 | col2 | col3 | BYTE |
NULL | NULL | 1 | 1 + 1 + type |
col1 | col2 | col3 | BYTE |
NULL | 1 | NULL | 1 + type + |
TIBERO์ ๊ฒฝ์ฐ NULL ํ์ฉ ์ปฌ๋ผ์ ์ต๋ํ ๋ค๋ก ๋นผ๋๊ฒ TABLE ํฌ๊ธฐ์์ ํจ์จ์ ์ด๋ค.
โฆ
CUBRID์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ํ์
์ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ํ ๋น
INT โ 4 byte / datetime โ 8 byte / VARCHAR, CLOB โ 0 byte
NULL ์ฐ์ฐ/๋ด๋ถ ํจ์/์ธ๋ถ ํจ์,ํ๋ก์์
โข
NULL ์ฐ์ฐ
โฆ
NULL ๊ณผ ์ฐ์ฐ๋๋ ๋ชจ๋ ๊ฐ์ NULL๋ก ์ฒ๋ฆฌ ๋๋ค.
โข
๋ด๋ถ ํจ์
โฆ
๋ณํ/์ง๊ณ ํจ์ ์ํ์ ์ฐ์ฐ์ด ๋ค์ด๊ฐ๋ ํจ์๋ NULL์ ๋ฐฐ์ ํ๊ณ ์ฐ์ฐํ๋ค.
โฆ
๋ฌธ์์ด ์ ํฉ ํจ์์ ๊ฒฝ์ฐ NULL์ด ๋ค์ด๊ฐ ๊ฒฝ์ฐ NULL์ฒ๋ฆฌ ํ๊ฑฐ๋ NULL์ ์ ๊ฑฐํ๊ณ ์ ํฉ ํ๋ค.
โข
์ธ๋ถ ํจ์, ํ๋ก์์
โฆ
ํจ์,ํ๋ก์์ ์์ฑ ์ NULL์ ๊ณ ๋ คํ์ง ์์ผ๋ฉด ์๋์น ์๊ฒ ๊ฒฐ๊ณผ๊ฐ NULL๋ก ์ถ๋ ฅ ๋ ์ ์๋ค.
NULL ์ ๋ ฌ
โข
DB ๋ง๋ค NULL์ ์ ๋ ฌ ํ๋ ๊ฐ์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ์ฌ๊ธฐ๊ฑฐ๋ ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ์ฌ๊ฒจ์ ์ ๋ ฌํ๋ค.
โฆ
์ค๊ฐ ๊ฐ์ ์๋ค
โฆ
NULL์ ์ ๊ฑฐํ์ง ์๊ณ ์ ๋ ฌํ์ฌ ๊ฐ์ ์ป์ผ๋ ค๊ณ ํ ๊ฒฝ์ฐ ์๋์น ์์ NULL์ด ์ถ๋ ฅ ๋ ์ ์๋ค.
โฆ
๋์ ๋ฐ MIN/MAX ํจ์์์๋ NULL์ ๋ฐฐ์ ํ๊ณ ์ฒ๋ฆฌํ๋ค.
NULL ์ธ๋ฑ์ค
โข
DB๋ง๋ค INDEX์ NULL์ ํฌํจํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ณ ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
โฆ
์ฑ๊ธ/๋ณตํฉ ์ธ๋ฑ์ค ๊ตฌ์ฑ ์ NULL์ ๋ชจ๋ ํฌํจ๊ฑฐ๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ํฌํจํ๋ค.
โช
๋ณตํฉ ์ธ๋ฑ์ค ๊ตฌ์ฑ ์ ํน์ ์ปฌ๋ผ์ด NOT NULL์ธ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ปฌ๋ผ์ NULL์ ํฌํจํ๋ค.
โฆ
์ฑ๊ธ/๋ณตํฉ ์ธ๋ฑ์ค ๋ชจ๋ NULL์ ํฌํจ ํ์ง ์๋๋ค.
โช
ํจ์ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ์ฌ, ์ธ๋ฑ์ฑ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค.








