기출문제 출처:
3. SUPER/SUB TYPE DATA MODEL
ONE TO ONE TYPE: SUPER/SUB ▶ 개별 TABLE로 도출
PLUS TYPE: SUPER/SUB ▶ SUPER/SUB TABLE로 도출
SINGLE TYPE: SUPER/SUB ▶ 하나의 TABLE로 도출
4. 속성의 종류
기본 속성: 본래의 속성
설계 속성: 데이터 모델링 과정에서 발생, 유일한 값 부여
파생 속성: 다른 속성에 의해 만들어지는 속성
7. 식별자 관계
식별자 관계: 부모 테이블의 기본키 또는 유니크 키를 자식 테이블의 기본키로 사용하는 관계
비식별자 관계: 부모 테이블의 기본키 또는 유니크 키를 외래키로 사용하는 관계
10. 주식별자 도출 기준
: 자주 이용
: 이름으로 기술되는 것은 지양
: 최소한의 속성을 포함하도록 주식별자를 지정
14. MERGE INTO ... USING ...
UPDATE할 레코드가 있을 경우: UPDATE
UPDATE할 레코드가 없을 경우: INSERT
* DELETE: 갱신된 RECORD를 대상으로만 실행
16. 계층형 QUERY AND WHERE
WHERE: 계층형 QUERY 진행 후, 결과에 대한 제한 조건 설정
18. DECODE
DECODE('A', 'B', 'C', 'D', 'E', ...)
: A가 B와 같다면 C, D와 같다면 E ...
20. ROLLBACK
ROLLBACK TO SAVEPOINT
22. WINDOW 함수(OVER)
: ORDER BY -> 설명에서 정렬에 대한 언급 필요
24. PL/SQL
: 절차형 언어 사용
필수: DECLARE, BEGIN~END
선택: EXCEPTION
25. DECODE
DECODE(VALUE, 조건1, 결과1, DEFAULT)
: VALUE==조건1 ▶ 결과1
: 어떠한 조건도 만족하지 않을 경우 ▶ DEFAULT
28. GROUP BY
GROUP BY: ~별
29. IN / NOT IN
IN: OR → NULL 무시
NOT IN: AND → NULL 포함 시, 데이터 출력 X
32. IN 연산자
IN(1, 2): 1 OR 2
IN((1, 2)): (1, 2)
35. 단일행 연산자
단일행 서브쿼리: 단일행 연산자(=, >, <, <>) + 다중행 연산자(IN, ANY, ALL, EXISTS)
다중행 서브쿼리: 다중행 연산자(IN, ANY, ALL, EXISTS)
37. 집합 연산자
SELECT절의 COL 개수 및 DATA TYPE이 상호 호환 가능해야 함
39. WINDOW FUNCTION(행 순서)
FIRST_VALUE
LAST_VALUE
LAG(SALARY, 2): SALARY 1행 = LAG 3행
LEAD(SALARY, 3): SARARY 4행 = LAG 1행
40. ORDER BY
COL_LOCATION 기재 시, SELECT한 COL 수보다 크면 안됨
42.
NATURAL JOIN: 동일한 타입과 이름을 가진 컬럼을 조인 조건으로 이용, ALIAS 사용 시 오류
CROSS JOIN: CARTESIAN JOIN
44. 그룹 함수
ROLLUP(A,B): A소계, (A,B)소계, 총계
CUBE(A,B): A소계, B소계, (A,B)소계, 총계
GROUPING SETS(A,B): A소계, B소계
45. NULL
NULLS LAST: NULL 마지막 정렬
NULLS FIRST: NULL 처음 정렬
49. WINDOW 함수(순위 함수)
RANK()
DENSE_RANK()
ROW_NUMBER()
WINDOW 함수(비율 함수)
RATIO_TO_REPORT: 값의 백분율
PERCENT_RANK: START(0), END(1)
CUME_DIST: START(>0)
NTILE: N등분, 나머지는 상위부터 배분
50. WINDOW 함수
WINDOW함수 OVER (PARTITION BY, ORDER BY, ROWS OR RANGE)
→ () 모두 생략 가능
ROWS: 행의 개수
RANGE: 값의 범위
UNBOUNDED FOLLOWING/PRECEDING: 가장 끝/ 처음
* 서브쿼리 사용 불가: GROUP BY, DELETE
'DataBase > Oracle' 카테고리의 다른 글
Oracle SQL 강의 - 33강 부조회(서브쿼리) (0) | 2023.03.20 |
---|---|
Oracle SQL 강의 - 32강 ROW_NUMBER(), RANK(), DENSE_RANK() (0) | 2023.03.19 |
[Certificate] SQLD (200906_38) (0) | 2023.03.18 |
[Certificate] SQLD (220528_45) (0) | 2023.03.18 |
[Certificate] SQLD (201129_39) (0) | 2023.03.18 |