사용자 도구

사이트 도구


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

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:쿼리:기본:빈_값_정렬 [2026/01/16 15:40]
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 이상 
 +*/ 
 +-- 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 마지막
 </sxh> </sxh>
  
 ===== 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 이상 
 +*/ 
 +-- 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 마지막
 </sxh> </sxh>
  
줄 26: 줄 48:
 SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 마지막 SELECT * FROM {테이블} ORDER BY {컬럼} ASC; -- NULL 마지막
 SELECT * FROM {테이블} ORDER BY {컬럼} DESC; -- 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 마지막
 </sxh> </sxh>
  
 ===== 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 이상 
 +*/ 
 +-- 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 마지막
 </sxh> </sxh>
  
 {{tag>"쿼리" "Query" "기본"}} {{tag>"쿼리" "Query" "기본"}}