반응형

IT 97

[Oracle] JOIN(1) - JOIN의 기본 개념과 목적

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 JOIN의 기본 개념과 목적 설명 JOIN은 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출력할 때 사용하는 방식. 개발자라면 정말 많이 접할 수밖에 없는 개념 중 하나임 사용 예시 SELECT * FROM EMP, DEPT ORDER BY EMPNO; 위 쿼리를 실행하면 아래와 같은 결과가 출력된다. 데이터는 출력되지만 맞아떨어지지 않는 데이터로 조합되어 출력되는 것이다. 이런 상황에서 JOIN을 사용하면 의미 있는 정보화를 할 수 있다. SELECT * FROM EMP, DEPT WHERE ..

[Oracle] 데이터 그룹화(6) - PIVOT(), UNPIVOT()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 PIVOT(), UNPIVOT() 설명 PIVOT() : 오라클 11g 버전부터 사용 가능한 함수. 기존 테이블 행을 열로 바꾸어 출력 UNPIVOT() : 오라클 11g 버전부터 사용 가능한 함수. 기존 테이블 열을 행으로 바꾸어 출력 사용 예시 -- query1(부서별/직책별로 그룹화하여 최고 급여 데이터 출력하기) SELECT DEPTNO, JOB, MAX(SAL) FROM EMP GROUP BY DEPTNO, JOB ORDER BY DEPTNO, JOB; -- query2(PIVOT() 함수를..

[Oracle] 데이터 그룹화(5) - LISTAGG()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 LISTAGG() 설명 LISTAGG() : 그룹에 속해 있는 데이터를 가로로 나열할 때 사용하는 함수. 오라클 11g 버전부터 사용 가능 문법 SELECT ... LISTAGG([나열할 열(필수)], [각 데이터를 구분하는 구분자(선택)]) WITHIN GROUP(ORDER BY [나열할 열의 정렬 기준 열(선택)]) FROM ... WHERE ... 사용 예시 -- query1 SELECT ENAME FROM EMP WHERE DEPTNO = 10; -- query2 SELECT DEPTNO, E..

[Oracle] 데이터 그룹화(4) - GROUPING(), GROUPING_ID()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 GROUPING(), GROUPING_ID() 설명 GROUPING() : ROLLUP() 또는 CUBE() 함수를 사용한 GROUP BY절에 그룹화 대상으로 지정한 열이 그룹화된 상태로 결과가 집계되었는지 확인하는 데 사용하는 함수. GROUP BY절에 명시된 열 중 하나를 지정할 수 있음 GROUPING_ID() : ROLLUP() 또는 CUBE() 함수를 사용한 GROUP BY절에 그룹화 대상으로 지정한 열이 그룹화된 상태로 결과가 집계되었는지 확인하는 데 사용하는 함수. GROUPING() 함..

[Oracle] 데이터 그룹화(3) - GROUPING SETS()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 GROUPING SETS() 설명 GROUPING SETS() : 같은 수준의 그룹화 열이 여러 개일 때 각 열별 그룹화를 통해 결과값을 출력하는 데 사용하는 함수. 지정한 모든 열을 각각 대그룹으로 처리하여 출력. 문법 SELECT ... FROM ... WHERE ... GROUP BY GROUPING SETS(열1, 열2, ... , 열n) ORDER BY ... 사용 예시 SELECT DEPTNO, JOB, COUNT(*) FROM EMP GROUP BY GROUPING SETS(DEPTNO,..

[Oracle] 데이터 그룹화(2) - ROLLUP(), CUBE()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 ROLLUP(), CUBE() 설명 ROLLUP() : 그룹화 데이터의 합계를 함께 출력하는 데 사용하는 함수. 다음과 같이 출력됨 1. A 그룹별 B 그룹별 C 그룹에 해당하는 결과 출력 2. A 그룹별 B 그룹에 해당하는 결과 출력 3. A 그룹에 해당하는 결과 출력 4. 전체 데이터 결과 출력 CUBE() : ROLLUP()과 마찬가지로 그룹화 데이터의 합계를 함께 출력하는 데 사용하는 함수. 다음과 같이 출력됨 1. A 그룹별 B 그룹별 C 그룹에 해당하는 결과 출력 2. A 그룹별 B 그룹의..

[Oracle] 데이터 그룹화(1) - GROUP BY, HAVING

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 GROUP BY, HAVING 설명 GROUP BY : 특정 컬럼을 기준으로 집계를 내는데 사용하는 SELECT문의 포함절. 이를 이용해 한 행으로 나오는 데이터와 여러 행이 나올 수 있는 데이터를 묶어서 명시할 수 있음 HAVING : 출력 그룹을 제한하는 조건식. GROUP BY절에 조건을 줄 때 사용. 즉, GROUP BY가 있을 때만 사용 가능 ※ WHERE와 HAVING의 비교 WHERE : 출력 대상 행을 제한 HAVING : 그룹화된 대상을 출력에서 제한 문법 SELECT ... FROM..

[Oracle] 다중행 함수(4) - AVG()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 AVG() 설명 지정한 데이터의 평균값 반환 문법 AVG([DISTINCT/ALL(선택)], [평균값을 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] 사용 예시 -- AVG query1 SELECT AVG(SAL) FROM EMP WHERE DEPTNO = 30; -- AVG query2 SELECT AVG(DISTINCT SAL) FROM EMP WHERE DEPTNO = 30; 결과 -- AVG query1 -- AVG query2

[Oracle] 다중행 함수(3) - MAX(), MIN()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 MAX(), MIN() 설명 MAX() : 지정한 데이터의 최댓값 반환 MIN() : 지정한 데이터의 최솟값 반환 문법 MAX([DISTINCT/ALL(선택)], [최댓값을 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] MIN([DISTINCT/ALL(선택)], [최솟값을 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] 사용 예시 -- MAX/MIN query1 SELECT MAX(SAL) FROM EMP WHERE DE..

[Oracle] 다중행 함수(2) - COUNT()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 COUNT() 설명 지정한 데이터의 개수 반환. NULL데이터는 개수에서 제외됨. 문법 COUNT([DISTINCT/ALL(선택)], [개수를 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] 사용 예시 -- COUNT query1 SELECT COUNT(*) FROM EMP; -- COUNT query2 SELECT COUNT(*) FROM EMP WHERE DEPTNO = 30; -- COUNT query3 SELECT COUNT(DISTINCT SAL) , ..

반응형