일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- sql전문가
- SQL기본
- SQL문자형함수
- Searched Case Expression
- nvl
- SQL숫자형 함수
- Group Functions
- SUM
- null
- Aggregation Function
- SQLD
- Britcent 3개월 완독 챌린지
- 단일 행 서브 쿼리
- 연관 서브 쿼리
- 다중 열 서브 쿼리
- SQL내장함수
- CASE중첩
- SQL연산자
- SQL개발자
- 3개월 완독 챌린지
- Atomic Habit
- SQL Grouping Functions
- 데이터모델링
- AVG
- Where
- Simple Case Expression
- sql
- sqlp
- Cloud ERP
- Window Functions
Archives
- Today
- Total
슴슴한 IT
[SQLD, SQLP]SQL기본 - ORDER BY 본문
728x90
ORDER BY란?
SQL 문장으로 조회한 결과를 특정 칼럼 또는 컬럼들을 기준으로 정렬
특성
- 기본적으로 오름차순(ASC)로 정렬, 내림차순은 DESC 키워드 사용
- 컬럼 대신 SELECT 절에서 명시한 ALIAS 명이나 컬럼 순서를 나타내는 정수도 사용 가능
- 컬럼명, ALIAS, 컬럼 순서번호 혼용 가능
- Oracle에서는 NULL 값을 가장 큰 값으로 간주, 오름차순으로 정렬 시 가장 마지막에 표시, 내림차순으로 정렬 시 가장 먼저 위치 (반면, SQL Server에서는 Oracle과 반대임)
- NULL 값을 처리하기 위해 'NULLS FIRST' 또는 'NULLS LAST'를 사용할 수 있음.(DBMS에 따라 다름)
- ORDER BY는 쿼리의 맨 마지막에 위치
SELECT 컬럼명 [ALIAS]
FROM (테이블 명)
WHERE (조건식)
GROUP BY (컬럼 또는 표현식)
HAVING (그룹 조건식)
ORDER BY (컬럼이나 표현식 )
예시
축구선수 테이블이 있다고 가정하고, 각 컬럼별 정렬을 할 경우
ID | Name | Position | Age | Goals |
1 | Messi | FW | 34 | 25 |
2 | Ronaldo | FW | 36 | 30 |
3 | Neuer | GK | 35 | 0 |
4 | Ramos | DF | 35 | 5 |
선수 이름으로 정렬하기
SELECT * FROM players ORDER BY name;
나이순으로 정렬하기(오름차순)
SELECT * FROM players ORDER BY age;
득점 순으로 내림차순으로 정렬하기
SELECT * FROM players ORDER BY goals DESC;
포지션별로 정렬하고, 같은 포지션 내에서는 나이순으로 정렬하기
SELECT * FROM players ORDER BY position, age;
득점이 10골 이상인 선수 중 나이가 어린 순서대로 정렬하기
SELECT * FROM players WHERE goals >= 10 ORDER BY age;
조건에 따라 정렬 순서를 동적으로 변경하는 경우 CASE문을 사용
age가 30 이상이며 먼저 나오고, 그 후에는 name 순으로 정렬
SELECT name, age
FROM users
ORDER BY
CASE
WHEN age >= 30 THEN 1
ELSE 2
END,
name;
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
'SQL' 카테고리의 다른 글
[SQLD,SQLP]SQL활용 - Subquery (0) | 2023.08.16 |
---|---|
[SQLD,SQLP]SQL기본 - JOIN (0) | 2023.08.15 |
[SQLD, SQLP]SQL기본 - 집계함수와 NULL 처리 (0) | 2023.08.10 |
[SQLD,SQLP]SQL기본 - GROUP BY, HAVING 절 (0) | 2023.08.08 |
[SQLD, SQLP]SQL기본 - 논리/부정연산자 (0) | 2023.08.07 |