반응형

본 글은 책 "칼퇴족 김대리는 알고 나만 모르는 SQL 기초 편"의 정리 내용입니다.

한 가지 열로 데이터 정렬하기


1. ‘ORDER BY 열 이름’

SELECT 열이름1, 열이름2 FROM 테이블명 ORDER BY 열 이름1;

 

2. 'ORDER BY 열 위치'

SELECT 열이름1, 열이름2 FROM 테이블명 ORDER BY 2;
  • ‘ORDER BY 2’는 두번째 열을 기준으로 정렬한다는 의미

 

여러가지 열로 데이터 정렬하기


SELECT 열이름1, 열이름2 FROM 테이블명 ORDER BY 열이름1, 열이름2;
  • ‘ORDER BY 열이름1, 열이름2’는 데이터 정렬 우선순위가 첫번째 열에 있고, 그 다음이 두번째라는 의미

 

예제


직원정보 테이블: CLERK

ID  STAFF_NM  DEF_NM  GENDER  BIRTH_DT  EMP_FLAG
142 김선명 영업지원부 M 1971-12-08 Y
488 김선주 영업지원부 M 1973-06-08 Y
489 김선선 영업지원부 M 1974-12-13 Y
334 고현정 기업영업지원부 F 1965-01-12 Y
더보기
CREATE TABLE CLERK
(
ID INT NOT NULL,
STAFF_NM CHAR(20) NOT NULL,
DEF_NM CHAR(20) NOT NULL,
GENDER CHAR(1) NOT NULL,
BRITH_DT CHAR(20) NOT NULL,
EMP_FLAG CHAR(1) NOT NULL,
PRIMARY KEY('ID')
);

INSERT INTO CLERK
VALUES
(142, '김선명', '영업지원부', 'M', '1971-12-08', 'Y'),
(488, '김선주', '영업지원부', 'M', '1973-06-08', 'Y'),
(489, '김선선', '영업지원부', 'M', '1974-12-13', 'Y'),
(334, '고현정', '전략기획부', 'F', '1965-01-12', 'Y');

 

ORDER BY DEF_NM; 의 결과

SELECT * FROM CLERK ORDER BY DEF_NM;
ID STAFF_NM  DEF_NM  GENDER BIRTH_DT  EMP_FLAG
334 고현정 기업영업지원부 F 1965-01-12 Y
142 김선명 영업지원부 M 1971-12-08 Y
488 김선주 영업지원부 M 1971-12-08 Y
489 김선선 영업지원부 M 1971-12-08 Y
  • ‘DEF_NM’ 컬럼을 이용해 오름차순으로 정렬됨

ORDER BY DEF_NM, STAFF_NM; 의 결과

SELECT * FROM CLERK ORDER BY DEF_NM, STAFF_NM;

 

ID  STAFF_NM  DEF_NM  GENDER  BIRTH_DT  EMP_FLAG
334 고현정 기업영업지원부 F 1965-01-12 Y
142 김선명 영업지원부 M 1971-12-08 Y
489 김선선 영업지원부 M 1971-12-08 Y
488 김선주 영업지원부 M 1971-12-08 Y
  • 먼저 'DEF_NM' 열이 오름차순으로 정렬됨
  • 그 후 ‘영업지원부’ 내에서 ‘STAFF_NM’ 열에 의해 오름차순으로 정렬됨 (가나다 순으로 명 -> 선 -> 주 정렬)

오름차순으로 데이터 정렬하기


SELECT 열이름1, 열이름2 FROM 테이블명 ORDER BY 열이름1 ASC, 열이름2 ASC;
  • SQL에서 기본값으로 오름차순 정렬을 실행하기 때문에 ASC 생략 가능

내림차순으로 데이터 정렬하기


SELECT 열이름1, 열이름2 FROIM 테이블명 ORDER BY 열이름1 DESC, 열이름2 DESC;
반응형

+ Recent posts