사용자 도구

사이트 도구


기술문서:레퍼런스:쿼리:기본:빈_값_정렬

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:쿼리:기본:빈_값_정렬 [2026/01/16 16:15]
carlito76
기술문서:레퍼런스:쿼리:기본:빈_값_정렬 [2026/01/20 14:14] (현재)
carlito76
줄 1: 줄 1:
 {{htmlmetatags> {{htmlmetatags>
-metatag-description=(NULL 정렬, ORDER BY NULL, NULL 처음, NULL 마지막, NULLS FIRST, NULLS LAST, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) +metatag-description=(빈 값 정렬, NULL 정렬, 빈 문자열 정렬, NULL 처음, NULL 마지막, NULLS FIRST, NULLS LAST, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) 
-metatag-og:description=(NULL 정렬, ORDER BY 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)
 }} }}
  
-====== NULL 정렬 ======+====== 빈 값 정렬 ======
  
 <note tip> <note tip>
줄 12: 줄 12:
 ===== MySQL/MariaDB ===== ===== MySQL/MariaDB =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
-SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 처음 +SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 처음, (NULL 제외 시) 빈 문자열 처음 
-SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 마지막+SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 마지막, (NULL 제외 시) 빈 문자열 마지막
  
 /* /*
  MySQL 3.23 이상/MariaDB 5.1 이상  MySQL 3.23 이상/MariaDB 5.1 이상
 */ */
 +-- NULLS FIRST
 SELECT * FROM {테이블} ORDER BY {컬럼} IS NOT NULL, {컬럼} ASC; -- NULL 처음 SELECT * FROM {테이블} ORDER BY {컬럼} IS NOT NULL, {컬럼} ASC; -- NULL 처음
 SELECT * FROM {테이블} ORDER BY {컬럼} IS NOT NULL, {컬럼} DESC; -- 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, {컬럼} ASC; -- NULL 마지막
 SELECT * FROM {테이블} ORDER BY {컬럼} IS NULL, {컬럼} DESC; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} IS NULL, {컬럼} DESC; -- NULL 마지막
줄 26: 줄 29:
 ===== MSSQL ===== ===== MSSQL =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
-SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 처음 +SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 처음, (NULL 제외 시) 빈 문자열 처음 
-SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 마지막+SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 마지막, (NULL 제외 시) 빈 문자열 마지막
  
 /* /*
  MSSQL 6.5 이상  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, {컬럼} ASC; -- NULL 처음
 SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 0 ELSE 1 END, {컬럼} DESC; -- 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, {컬럼} ASC; -- NULL 마지막
 SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 1 ELSE 0 END, {컬럼} DESC; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY CASE WHEN {컬럼} IS NULL THEN 1 ELSE 0 END, {컬럼} DESC; -- NULL 마지막
줄 46: 줄 52:
  Oracle 8i 이상/Tibero 3 이상  Oracle 8i 이상/Tibero 3 이상
 */ */
 +-- NULLS FIRST
 SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS FIRST; -- NULL 처음 SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS FIRST; -- NULL 처음
 SELECT * FROM {테이블} ORDER BY {컬럼} DESC 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 {컬럼} ASC NULLS LAST; -- NULL 마지막
 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS LAST; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS LAST; -- NULL 마지막
줄 54: 줄 63:
 ===== PostgreSQL ===== ===== PostgreSQL =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
-SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 마지막 +SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 마지막, 빈 문자열 처음 
-SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 처음+SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- NULL 처음, 빈 문자열 마지막
  
 /* /*
  PostgreSQL 8.3 이상  PostgreSQL 8.3 이상
 */ */
 +-- NULLS FIRST
 SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS FIRST; -- NULL 처음 SELECT * FROM {테이블} ORDER BY {컬럼} ASC NULLS FIRST; -- NULL 처음
 SELECT * FROM {테이블} ORDER BY {컬럼} DESC 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 {컬럼} ASC NULLS LAST; -- NULL 마지막
 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS LAST; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} DESC NULLS LAST; -- NULL 마지막