728x90
ORDER BY란 ?
- 데이터를 설정한 조건에 맞도록 정렬을 해주는 명령어
ORDER BY 문의 기본 형식
SELECT [열] FROM [테이블] WHERE [열] = [조건값] ORDER BY [열] [ASC, DESC]
[열] : 정렬한 열 이름을 입력한다.
[ASC, DESC] : 정렬 기준에 따라 오름차순, 내림차순을 정의한다. (ASC : 작은 값부터 오름차순, DESC : 큰 값부터 내림차순)
예제]
/* 영어 우선순위 정렬 */
USE DoItSQL;
WITH CTE (col_1) AS (
SELECT N 'ABC' UNION ALL
SELECT N '123' UNION ALL
SELECT N '가나다'
)
SELECT * FROM CTE
ORDER BY col_1 ASC
/* 실행 결과
col-1
1 123
2 ABC
3 가나다
*/
/* 한글 우선순위 정렬 */
USE master;
WITH CTE (col_1) AS (
SELECT N 'ABC' UNION ALL
SELECT N '123' UNION ALL
SELECT N '가나다'
)
SELECT * FROM CTE
ORDER BY col_1 ASC
/*
col_1
1 123
2 가나다
3 ABC
*/
열 기준 정렬
데이터를 1개 열 기준으로 정렬할 때는 정렬할 열 이름을 ORDER BY 문 뒤에 입력한다.
예시]
SELECT * FROM nasdaq_company ORDER BY symbol -- ORDER BY 뒤에 열 이름
SELECT * FROM symbol ORDER BY nasdaq_company -- ORDER BY 뒤에 열 이름
열을 2개 이상 기준으로 정렬할 때는 정렬 순서에 따라 쉼표를 사용해 열 이름을 나열한다.
예시]
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <> ''
ORDER BY sector, industry -- ORDER BY 뒤 쉼표로 구분
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <> ''
ORDER BY industry, sector -- ORDER BY 뒤 쉼표로 구분
ASC로 오름차순 정렬
오름차순 정렬은 ASC를 정렬하려는 열 이름 뒤에 붙이면 된다. 정렬 기본값은 오름차순으로 ASC이므로 생략할 수 있다.
예시]
SELECT * FROM nasdaq_company
ORDER BY symbol ASC
DESC로 내림차순 정리하기
정렬 기본값이 오름차순이므로 내림차순으로 정리하기 위해서는 DESC 뒤에 열 이름을 작성한다.
예시]
SELECT * FROM nasdaq_company
ORDER BY symbol DESC
728x90
'DBMS > MySQL 정리' 카테고리의 다른 글
[MySQL] 데이터 그룹화 다루기 (0) | 2023.06.20 |
---|---|
[MySQL] 와일드카드로 문자열 검색하기 (0) | 2023.06.19 |
[MySQL] SQL이란 무엇인가 ? (2) | 2023.06.14 |
[MySQL] 데이터베이스의 종류 (2) | 2023.06.12 |
[MySQL] 데이터베이스의 기본 개념 (4) | 2023.06.10 |