-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path20200723.sql
More file actions
145 lines (114 loc) · 3.12 KB
/
20200723.sql
File metadata and controls
145 lines (114 loc) · 3.12 KB
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
SELECT LPAD(' ', (LEVEL-1)*4) || s_id s_id, value
FROM h_sum
START WITH ps_id IS NULL
CONNECT BY PRIOR s_id = ps_id;
SELECT *
FROM h_sum;
SELECT *
FROM no_emp;
SELECT LPAD(' ', (LEVEL-1) *4) || org_cd, no_emp
FROM no_emp
START WITH parent_org_cd IS NULL
CONNECT BY PRIOR org_cd = parent_org_cd;
SELECT LPAD(' ', (LEVEL-1) *4) ||deptnm
FROM dept_h
START WITH deptcd = 'dept0'
CONNECT BY PRIOR deptcd = p_deptcd AND deptnm != '정보기획부';
SELECT LPAD(' ', (LEVEL-1) *4) ||deptnm , SYS_CONNECT_BY_PATH(deptnm, '-')
FROM dept_h
WHERE deptnm != '정보기획부'
START WITH deptcd = 'dept0'
CONNECT BY PRIOR deptcd = p_deptcd ;
SELECT LPAD(' ', (LEVEL-1) *4) ||deptnm ,CONNECT_BY_ISLEAF
FROM dept_h
WHERE deptnm != '정보기획부'
START WITH deptcd = 'dept0'
CONNECT BY PRIOR deptcd = p_deptcd ;
SELECT *
FROM board_test;
SELECT seq, LPAD(' ', (LEVEL-1)*4 ) || title
FROM board_test
START WITH parent_seq IS NULL
CONNECT BY PRIOR seq = parent_seq;
SELECT *
FROM board_test;
SELECT seq, LPAD(' ', (LEVEL-1)*4 ) || title
FROM board_test
START WITH parent_seq IS NULL
CONNECT BY PRIOR seq = parent_seq
ORDER SIBLINGS BY seq DESC;
SELECT *
FROM
(SELECT seq ,CONNECT_BY_ROOT(seq) gn, LPAD(' ', (LEVEL-1)*4 ) || title
FROM board_test
START WITH parent_seq IS NULL
CONNECT BY PRIOR seq = parent_seq)
ORDER BY gn desc, seq;
SELECT dept_10.*, ROWNUM
FROM(SELECT ename,sal,deptno
FROM emp
WHERE DEPTNO = 10
ORDER BY sal desc) dept_10;
SELECT dept_10.*, ROWNUM
FROM(SELECT ename,sal,deptno
FROM emp
WHERE DEPTNO = 10
ORDER BY sal desc) dept_10
UNION ALL
SELECT dept_20.*, ROWNUM
FROM(SELECT ename,sal,deptno
FROM emp
WHERE DEPTNO = 20
ORDER BY sal desc) dept_20
UNION ALL
SELECT dept_30.*, ROWNUM
FROM(SELECT ename,sal,deptno
FROM emp
WHERE DEPTNO = 30
ORDER BY sal desc) dept_30;
SELECT ename,sal,deptno,
FROM emp
ORDER BY deptno, sal desc;
SELECT ename, sal, deptno,
RANK() OVER (PARTITION BY deptno ORDER BY sal) sal_rank,
DENSE_RANK() OVER (PARTITION BY deptno ORDER BY sal) sal_danse_rank,
ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY sal) sal_row_number
FROM emp;
SELECT a.ename, a.sal, a.deptno, b.lv
FROM
(SELECT ROWNUM rn, a.*
FROM
(SELECT ename, sal, deptno
FROM emp
ORDER BY deptno, sal DESC) a ) a,
(SELECT ROWNUM rn, a.lv
FROM
(SELECT b.deptno, a.lv
FROM
(SELECT LEVEL lv
FROM dual
CONNECT BY LEVEL <= 14 ) a,
(SELECT deptno, COUNT(*) cnt
FROM emp
GROUP BY deptno) b
WHERE a.lv <= b.cnt
ORDER BY b.deptno, a.lv ) a )b
WHERE a.rn = b.rn;
(SELECT deptno, COUNT(*) cnt
FROM emp
GROUP BY deptno);
SELECT empno,ename, emp.deptno , cnt
FROM emp ,
(SELECT deptno, COUNT(*) cnt
FROM emp
GROUP BY deptno) v_cnt
WHERE v_cnt.deptno = emp.deptno
ORDER BY deptno;
SELECT empno,ename,deptno,count(*) OVER (PARTITION BY deptno) cnt
FROM emp;
SELECT empno,ename,sal, ROUND(AVG(sal) OVER (PARTITION BY deptno),2) avg
FROM emp;
SELECT empno,ename,sal,MAX(sal) OVER (PARTITION BY deptno) avg
FROM emp;
SELECT empno,ename,sal, MIN(sal) OVER (PARTITION BY deptno) avg
FROM emp;