MySQL에서 ORDER BY로 정렬시 null값 처리
ORDER BY 구문을 통해 데이터를 정렬하는데, 문자열은 사전순으로, 숫자의 경우 그 수의 크기 순으로 정렬합니다. 그러나 NULL값의 경우는 값이 없다는 의미를 가지고 있기에 대소를 가릴 수 없는데, 그래서인지 NULL값 정렬에 대한 정해진 표준이 없기 때문에 Oracle이나 MySQL, MS-SQL, PostgreSQL 등 각 DBMS의 공급사마다 다른 방식으로 NULL값 정렬에 대한 처리를 하고 있습니다.
결론적으로 MySQL의 경우 NULL값은 가장 작은 값으로 취급하고 있습니다.
simple_tbl 테이블은 단순히 number라는 INTEGER형 컬럼 하나만을 가지고 있는 테이블입니다.
SELECT * FROM simple_tbl; |
cs |
네 개의 정수값과 NULL값을 하나 가지고 있습니다.
이 상태에서 number컬럼을 오름차순으로 정렬한 경우 NULL값이 있는 행이 가장 첫 행인것을 볼 수 있습니다.
SELECT * FROM simple_tbl ORDER BY number ASC; |
cs |
반대로 내림차순인 경우에는 NULL값이 있는 행이 가장 마지막 행으로 정렬됩니다.
SELECT * FROM simple_tbl ORDER BY number DESC; |
cs |
'데이터베이스[DB]' 카테고리의 다른 글
[ORACLE] 오라클 11g DBMS 접속 포트 변경하는 방법 (0) | 2019.07.30 |
---|---|
[ORACLE] Windows 시스템 재시작시 Oracle 서비스 자동, 수동 시작/종료 하는 방법 (2) | 2019.07.29 |
[MySQL] 작은따옴표(') 를 검색 조건에 포함 시키는 방법 (0) | 2019.06.23 |
[MySQL] LIKE 검색시 와일드카드 (%, _ ) 이스케이프 처리 하여 검색하는 방법 (0) | 2019.06.22 |
[MySQL] 데이터 여러개(여러행) 동시에 입력하는 방법 (0) | 2019.06.09 |