{{htmlmetatags> metatag-description=(빈 값 정렬, NULL 정렬, 빈 문자열 정렬, NULL 처음, NULL 마지막, NULLS FIRST, NULLS LAST, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) metatag-og:description=(빈 값 정렬, NULL 정렬, 빈 문자열 정렬, NULL 처음, NULL 마지막, NULLS FIRST, NULLS LAST, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) }} ====== 빈 값 정렬 ====== 최소 지원 버전은 약간의 차이가 있을 수 있습니다. ===== MySQL/MariaDB ===== SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 처음, (NULL 제외 시) 빈 문자열 처음 SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 마지막, (NULL 제외 시) 빈 문자열 마지막 /* MySQL 3.23 이상/MariaDB 5.1 이상 */ -- NULLS FIRST SELECT * FROM {테이블} ORDER BY {컬럼} IS NOT NULL, {컬럼} ASC; -- NULL 처음 SELECT * FROM {테이블} ORDER BY {컬럼} IS NOT NULL, {컬럼} DESC; -- NULL 처음 -- NULLS LAST SELECT * FROM {테이블} ORDER BY {컬럼} IS NULL, {컬럼} ASC; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} IS NULL, {컬럼} DESC; -- NULL 마지막 ===== MSSQL ===== SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 처음, (NULL 제외 시) 빈 문자열 처음 SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 마지막, (NULL 제외 시) 빈 문자열 마지막 /* MSSQL 6.5 이상 */ -- NULLS FIRST SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 0 ELSE 1 END, {컬럼} ASC; -- NULL 처음 SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 0 ELSE 1 END, {컬럼} DESC; -- NULL 처음 -- NULLS LAST SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 1 ELSE 0 END, {컬럼} ASC; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 1 ELSE 0 END, {컬럼} DESC; -- NULL 마지막 ===== Oracle/Tibero ===== SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 처음 /* Oracle 8i 이상/Tibero 3 이상 */ -- NULLS FIRST SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS FIRST; -- NULL 처음 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS FIRST; -- NULL 처음 -- NULLS LAST SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS LAST; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS LAST; -- NULL 마지막 ===== PostgreSQL ===== SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 마지막, 빈 문자열 처음 SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 처음, 빈 문자열 마지막 /* PostgreSQL 8.3 이상 */ -- NULLS FIRST SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS FIRST; -- NULL 처음 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS FIRST; -- NULL 처음 -- NULLS LAST SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS LAST; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS LAST; -- NULL 마지막 {{tag>"쿼리" "Query" "기본"}}