DBMS 24

[DBMS/Oracle] Window 분석함수

Window 분석함수 - 등위를 구하는 함수 - RANK, DENSE_RANK, ROW_NUMBER 등이 제공됨 - RANK : 동일 값에 같은 등수를 부여하고 그 다음 등수는 "현재 등수 + 동점자 수"의 등수가 부여됨 ex) 9, 8, 8, 8, 7, 7, 6, 5, 1 2 2 2 5 5 7 8 - DENSE_RANK : 동일 값에 같은 등수를 부여하고 그 다음 등수는 동점자 수에 관계 없이 순차적인 값을 부여 ex) 9, 8, 8, 8, 7, 7, 6, 5, 1 2 2 2 3 3 4 5 - ROW_NUMBER : 동점자에 상관없이 순차적인 값을 부여 ex) 9, 8, 8, 8, 7, 7, 6, 5, 1 2 3 4 5 6 7 8 (사용형식) RANK|DENSE_RANK()|ROW_NUMBER()(OR..

DBMS 2023.03.16

[DBMS/Oracle] 집합 연산자

집합 연산자 - 여러 쿼리의 결과에 대한 집합연산을 수행 - 합집합(UNION, UNION ALL), 교집합(INTERSECT), 차집합(MINUS) 결과 반환 (주의사항) - 모든 SELECT절의 컬럼의 수와 타입은 동일해야 함 - 컬럼의 별칭은 첫 번째 SELECT문의 SELECT절의 것이 사용됨 - ORDER BY 절은 맨 마지막 SELECT문에서만 사용됨 - CLOB,BLOB,BFILE타입은 사용 불가 1. 합집합 - UNION ALL : 교집합 부분이 중복 반환되는 반환됨 - UNION : 중복이 배제된 합집합 사용예) 2020년 4월과 5월에 판매된 모든 상품명을 출력하시오. -- 2020년 4월에 판매된 모든 상품 SELECT A.CART_PROD AS 상품코드, B.PROD_NAME AS ..

DBMS 2023.03.16

[DBMS/Oracle] 서브쿼리(SUBQUERY)

서브쿼리(SUBQUERY) - 쿼리 안에 존재하는 또 다른 쿼리 - 주로 알려지지 않은 조건에 의존하여 질의를 처리해야 하는 경우 사용한다. - 서브쿼리는 '( )' 안에 기술해야한다. - 서브쿼리의 실행 순서 : 서브쿼리가 기술된 절의 순서에서 가장 먼저 수행됨 - 서브쿼리의 종류 A. 메인쿼리와의 연관성 여부에 따라 - 관련성있는 서브쿼리, - 관련성 없는 서브쿼리 B. 기술된 위치에 따라 - 일반 서브 쿼리(SELECT 절), - 인라인 뷰 서브쿼리(FROM절), - 중첩서브쿼리(WHERE절) 1. 관련성(연관성) 없는 서브쿼리 - 서브쿼리에 사용된 테이블과 메인쿼리에 사용된 테이블이 조인으로 연결되지 않은 서브쿼리 사용예) 사원테이블에서 사원들의 평균급여보다더 많은 급여를 받는 사원수를 조회하시오..

DBMS 2023.03.16

[DBMS/Oracle] 조인(JOIN)

조인(JOIN) - 필요한 데이터가 여러 테이블에 분산되어 있고 각 테이블 들이 관계를 맺고 있을 때 수행하는 연산 - 관계(RELATIONSHIP)을 이용한 연산 - 구분 . 조인연산자에 따라 동등조인(Equi Join), 비동등 조인(Non Equi Join) . 조인 대상에 따라 : 셀프조인(Self Join) . 조인 조건에 따라 : 내부조인(Inner Join), 외부조인(Outer Join), 카타시안(Cartasian, Cross Join), 세미조인(Semi Join) . 기타 : ANSI Join 1. 내부조인 - 조인조건을 만족하는 행만 결과로 반환하고 조인조건을 만족하지 않는 데이터는 무시함. 1) 카타시안(Cartesian Product, Cross Join) - 조인조건이 없거나 ..

DBMS 2023.03.16

[DBMS/Oracle] ROLLUP과 CUBE함수

ROLLUP과 CUBE함수 - GROUP BY 절 안에서 사용되어 다양한 집계를 반환함 1. ROLLUP(col1,col2,...) - ROLLUP에 사용된 컬럼명들로 레벨을 구성하고 각 레벨별 합계(중간 합계)를 반환 - 레벨은 ROLLUP절에 사용된 모든 컬럼이 적용된 경우가 최하위레벨이고 이후에 오른쪽 컬럼부터 1개씩 제거한 값으로 레벨이 구성됨, 마지막에는 모든 컬럼이 제거된(전체 테이블) 전체 합계가 반환됨 - 사용된 컬럼의 수가 n개 이면 n+1 가지의 집계가 반환됨 - 일부의 컬럼만 ROLLUP절안에 기술되고 나머지 그룹기준 컬럼이 ROLLUP밖에 기술된 경우를 부분 ROLLUP이라함 사용예) 장바구니 테이블에서 2020년 월별,회원별,제품별,매출수량집계를 구하시오. (GROUP BY 절만 ..

DBMS 2023.03.15

[DBMS/Oracle] 그룹함수

그룹함수 - 테이블에서 특정컬럼을 기준으로 같은 값을 갖는 자료들로 묶어놓은 집합을 그룹이라함 - 이 그룹안에서 합계(SUM),평균(AVG),자료의 수(COUNT), 최대/최소 값(MAX/MIN)을 반환해주는 함수 - 다중행 함수임 - 집계함수는 집계함수를 포함할 수 없음(단, 일반함수는 집계함수를 포함할 수 있고 집계함수는 일반함수를 포함할 수 있음) (사용형식) SELECT [컬럼명1 [AS 컬럼별칭1 ,] : SUM(col)|AVG(col)|COUNT(*|col)|MAX(col)|MIN(col) [,] : [컬럼명n [AS 컬럼별칭n ,] FROM 테이블명 [WHERE 조건] -- 일반 조건 [GROUP BY 컬럼명[,컬럼명,...]] [HAVING 조건] [ORDER BY 컬럼명|컬럼인덱스 [AS..

DBMS 2023.03.15

[DBMS/Oracle] 함수

함수 - 특정 결과를 반환하는 모듈울 미리 작성하고 컴파일하여 실행 가능한 상태로 구성된 반환값이 있는 서브프로그램 - 컬럼의 값이나 데이터 타입을 변경 - 숫자, 날짜 자료의 출력 형식 변경 - 특정 값을 기준으로 데이터를 그룹화하고 각 그룹에서 집계를 수행 - 단일행 함수/복수행 함수 - 문자열 함수/숫자함수/날짜함수/변환함수/집계함수/분석함수 등으로 구분 1. 문자열 함수 1) '||' - ★★★★ . 문자열 결합연산자 . 자바의 문자열 연산자 '+'와 동일 기능 수행 사용예) 회원테이블에서 대전에 거주하는 회원정보를 조회하시오. Alias는 회원번호,회원명,주민번호,주소이며 주민번호의 출력은'XXXXXX-XXXXXXX'형태로, 주소는 기본 주소와 상세주소를 공백으로 연결하여 출력하시오. SELEC..

DBMS 2023.03.15

[DBMS/Oracle] 연산자

연산자 1. 사칙연산자 : +, -, *, / 사용예)HR계정의 사원테이블(EMPLOYEES)에서 보너스를 계산하고 보너스를 포함한 지급액을 조회하시오. Alias는 사원번호,사원명,급여,보너스,지급액 보너스 = 급여(SALARY) * 영업실적코드(COMMISSION_PCT) 지금액 = 급여 + 보너스 SELECT EMPLOYEE_ID As 사원번호, -- 복수, 단수 확인 FIRST_NAME||' '||LAST_NAME AS 사원명, SALARY AS 급여, NVL(SALARY * COMMISSION_PCT,0) AS 보너스, SALARY + NVL(SALARY * COMMISSION_PCT,0) AS 지급액 -- COMMISSION_PCT 값을 확인해보면 08부서(영업부서)를 제외하고 나머지 사원은 ..

DBMS 2023.03.15

[DBMS/Oracle] 데이터 검색 명령(SELECT)

데이터 검색 명령(SELECT) - 테이블의 자료를 추출할 때 사용 - SQL 명령 중 가장 많이 사용하는 명령 -- [](대괄호) : 생략 가능 (사용형식) SELECT [DISTINCT] 컬럼명 | * [As 별칭][,] 컬럼명 [As 별칭][,] : 컬럼명 [As 별칭][,] -- 오류 : FORM을 찾을 수 없음 : ',', 별칭 확인 FROM 테이블명 [WHERE 조건] [GROUP BY 컬럼명[,컬럼명,...]] -- 집계함수 : 합(SUM), 평균(AVG), 갯수(COUNT), 최댓값(MAX), 최솟값(MIN) [HAVING 조건] [ORDER BY 컬럼명|컬럼INDEX [ASC|DESC][,컬럼명|컬럼INDEX [ASC|DESC],...]] -- ASC : 오름차순, 생략 가능 / DESC..

DBMS 2023.03.14

[DBMS/Oracle] 데이터 타입

데이터 타입 - 오라클에서 제공하는 자료형은 문자열, 숫자, 날짜, 기타 자료형으로 분류 1. 문자열 자료형 - 오라클에서 문자열자료는 ''안에 기술 - 고정길이 문자열과 가변길이 문자열 구분 A. CHAR(n [BYTE|CHAR]) - 고정길이 문자열을 저장 - 최대 2000 BYTE까지 저장 가능 - 저장시킬 자료가 선언된 공간보다 작으면 오른쪽에 공백으로 PADDING - 선언된 저장공간보다 큰 자료는 저장되지 않음 - 한글 한 글자는 3 BYTE로 저장 - 'n [BYTE|CHAR]' : n이 저장시킬 문자의 수(CHAR)인지 바이트(BYTE)인지 선택. 생략하면 BYTE로 간주한다. 사용예) CREATE TABLE TEMP01( COL1 CHAR(20), COL2 CHAR(20 BYTE), CO..

DBMS 2023.03.14
728x90