Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 연산자
- 변수
- JS
- sqldeveloper
- Operator
- 오라클오류
- 삐옥
- 오류
- Eclipse
- select
- error
- 에러
- function
- From
- 자료형
- 서블릿
- 자바
- VisualStudioCode
- 개발자
- Servlet
- CSS
- datatype
- 오라클
- HTML
- 코딩
- SQL
- variable
- 이클립스
- oracle
- Java
Archives
- Today
- Total
뇨내
[Oracle - SQL Developer] order 본문
ORDER BY
정렬, Sort
- order by 절
SELECT 컬럼리스트
FROM 테이블
WHERE 조건;
ORDER BY 기준;
실행순서★★★
1. FROM 테이블
2. WHERE 조건
3. SELECT 컬럼리스트
4. ORDER BY 기준
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
-- name + 오름차순
select * from tblCountry order by name asc;
-- name + 내림차순
select * from tblCountry order by name desc;
select name, jikwi from tblInsa where buseo = '기획부';
-- 실행순서
select name, jikwi --3
from tblInsa --1
where buseo = '기획부' --2
order by name asc; --4
-- 다중 정렬
select name, buseo, jikwi, basicpay from tblInsa order by buseo ; --1차 정렬, 생략하면 asc임
select name, buseo, jikwi, basicpay from tblInsa order by buseo asc, jikwi asc; --2차 정렬
select name, buseo, jikwi, basicpay from tblInsa order by buseo asc, jikwi asc, basicpay asc; --3차 정렬
select * from tblInsa; --1) 원래 부서는 7번째 컬럼
-- 하지말것 > 가독성 낮음
select name, buseo, jikwi, basicpay from tblInsa order by 2 ; -- 컬럼순서, 2) select 절에서 부서가 2번째 순서
select name, buseo, jikwi, basicpay from tblInsa order by 2 asc, 3 asc, 4 asc;
-- 급여 + 수당 > 정렬 *****응용 : 단일 컬럼만이 정렬 기준이 될 수 있는것이 아니라, 가공된 값도 가능하다.
select * from tblInsa order by basicpay + sudang desc;
-- 직위별로 정렬 : 부장 > 과장 > 대리 > 사원 순으로...
-- 자바 수업? 문자열 정렬, 코드값 정렬X > 멤버 변수 추가 > 숫자
select name, jikwi from tblInsa order by jikwi;
select
name, jikwi,
case
when jikwi = '부장' then 4
when jikwi = '과장' then 3
when jikwi = '대리' then 2
when jikwi = '사원' then 1
end as jikwiseq
from tblInsa order by jikwiseq desc;
-- 위와 똑같은 쿼리
select
name, jikwi,
case
when jikwi = '부장' then 4
when jikwi = '과장' then 3
when jikwi = '대리' then 2
when jikwi = '사원' then 1
end
from tblInsa order by 3 desc;
-- 위와 똑같은 쿼리2 + 숫자 없앰
select
name, jikwi
from tblInsa order by case
when jikwi = '부장' then 4
when jikwi = '과장' then 3
when jikwi = '대리' then 2
when jikwi = '사원' then 1
end desc; -- case ~ end는 컬럼이 들어가는 위치면 다 들어갈 수 있음
-- 기획부 : 남자 직원 -> 여자직원
select * from tblInsa
where buseo = '기획부'
order by case
when ssn like '%-1%' then 1
when ssn like '%-2%' then 2
end asc;
-- ** 쿼리를 1열로 정렬해도 되고 가독성이 좋게 '절'마다 엔터를 쳐도 된다.
|
cs |
'Oracle > Column + Order' 카테고리의 다른 글
[Oracle - SQL Developer] column : 컬럼 (0) | 2021.11.13 |
---|
Comments