기출문제 출처: 

 

[SQLD] 37회 기출문제 ( 50문제 / 정답, 해설포함 )

📖SQLD. 제 37 회 기출 문제 문제 1. 다음에서 설명하는 것은 ER모델 중 어떤 항목에 대한 설명인가? 정답확인🌼 1) 모든 릴레이션(Relation)은 원자값(Atomic)을 가져야 한다. 2) 어떤 릴레이션(Relation)에

yunamom.tistory.com

 

 

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

 

 

기출문제 출처: 

 

[SQLD] 38회 기출 문제 ( 50문제 / 정답 ) + 해설추가

📖SQLD. 제 38 회 기출 문제 문제 1. 다음의 ERD에 대한 설명으로 올바르지 않은 것은? 정답확인🌼 1) 상급종합병원에는 의사가 근무하지 않을수가 있다. 2) 한 개의 상급종합병원에는 여러 명의 의

yunamom.tistory.com

 

 

4. PK
PK(A, B): (A, B)인 조건을 모두 만족
A중복 가능, B 중복 가능 (A, B) 중복 불가

7. ENTITY
기본 ENTITY: 다른 ETITY로부터 영향을 받지 않고 독립적으로 생성되는 ENTITY
중심 ENTITY: 기본 ENTITY로부터 발생되고 행위 ENTITY를 생성하는 ENTITY
행위 ENTITY: 2개 이상의 ENTITY로부터 발생하는 ENTITY로 지속적으로 정보가 추가되고 변경되는 ENTITY

9. ERD 표기법
Barker: 필수, 선택 - 실선 + 점선
IE: 식별-실선, 비식별-점선


11. 계층형 쿼리
WHERE: 모든 전개를 수행한 뒤 지정 조건을 통해 데이터 필터링
CONNECT_BY_ISLEAF: LEAF-1, ELSE-0 반환

14.
DDL: CREATE, DROP, TRUNCATE, MODIFY, ALTER, RENAME
DML: SELECT UPDATE, DELETE, INSERT
DCL: GRANK, REVOKE
TCL: COMMIT, ROLLBACK, SAVEPOINT

16.
COUNT(3) = COUNT(*)
NULLIF(VALUE1, VALUE2): VALUE1==VALUE2 > NULL, VALUE1!=VALUE2 > VALUE1

17. IN연산자
IN(1, 2, NULL): OR 조건, NULL 수행X, (1, 2)만 수행
NOT IN(1, 2, NULL): AND 조건, 반환값 X

18. 그룹 함수
ROLLUP(A,B): A소계, (A,B)소계, 총계
CUBE(A,B): A소계, B소계, (A,B)소계, 총계
GROUPING SETS(A,B): A소계, B소계

20. COUNT()
SELECT COUNT(*) FROM WHERE 1=2;
WHERE 조건절: FALSE ▶ 0 반환

21. WINDOW FUNCTION
SUM(SALARY) OVER(): 전체 SALARY 합계
* PARTITION BY, ORDER BY, WINDOWING 절(ROWS, RANGE) 모두 생략 가능
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING: 시작부터 끝까지 전체 합계
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW: 시작부터 지금까지 합계

22. PL/SQL
: 절차형 언어
: 테이블 생성 가능

24. ROLLBACK TO SP;

25. MINUS
TABLE TEST25: 1, 2, 3 ▶ 3개의 ROW 존재
SELECT 1 FROM DUAL ▶ 1을 포함하는 ROW

27. OUTER JOIN
JOIN의 기준 테이블 이외의 값은 NULL 처리
SELECT DEPTNO FROM DEPT
WHERE DEPTNO <> ANY(SELECT DEPTNO FROM EMP);
ANY 조건절에서 출력된 결과값과 DEPT TABLE의 DEPTNO과 하나라도 다르면 반환
EMP DEPTNO(10,20,30)
DEPT DEPTNO(10,20,30,40)
DEPT의 10: EMP의 20, 30과 다르므로 DEPT의 10 출력
DEPT의 20: EMP의 10, 30과 다르므로 DEPT의 20 출력
DEPT의 30: EMP의 10, 20과 다르므로 DEPT의 30 출력
DEPT의 40: EMP의 10, 20, 30과 다르므로 DEPT의 40 출력

34. 연산자 우선순위
산술(+-*/) ▶ 비교(>=<<>) ▶ BETWEEN ▶ NOT ▶ AND ▶ OR

36. WHERE 연산
WHERE 조건절에 맞는 검색결과를 모두 반환
조%: 조조, 조훈
%우%: 관우

40.
DISTINCT COL1, COL2: (COL1, COL2)에 대해서 모두 중복 제거

43.
순수 관계 연산자: SELECT(ROW), PROJECT(COL), JOIN, DEVIDE

        SQL 연산자: WHERE,             SELECT,              JOIN, 사용X


44. 그룹 함수
RANK()
DENSE_RANK()
ROW_NUMBER()

50. CROSS JOIN
= CARTESIAN PRODUCT

 

기출문제 출처: 

 

[SQLD] 45회 기출문제 1과목 ( 10문제 / 정답, 해설 )

📖SQLD. 제 45 회 기출 문제 1 과목 ( 객관식 8문제, 주관식 2문제 ) 문제 1. 데이터 모델링 시 유의점으로 적절하지 않은 것은? 정답확인🌼 1) 여러 장소에 같은 정보를 저장하지 않도록 한다. 2) 성

yunamom.tistory.com

 

 

3. ENTITY
ENTITY: 업무에서 관리해야하는 데이터 집합
INSTANCE: ROW, DB에 저장된 데이터 내용의 전체 집합
ATTRIBUTE: COLUMN, 더이상 분리되지 않는 단위로 인스턴스의 구성요소

6. 데이터 모델링
개념적추상화, 업무중심적, 포괄적
논리적재사용성 (대표적 활동: 정규화)
물리적: 물리적

7. ATTRIBUTE
파생 속성: 타 속성에 의해 영향을 받아 자신의 값이 변화

10. 정규형
제1정규형: 모든 속성의 도메인이 원자값(단일값)으로만 구성되어 있는 경우
제2정규형: 제1정규형
               + 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되는 경우
제3정규형: 제2정규형
               + PK가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않은 경우
               + 속성간 함수 종속성이 발생하지 않은 경우

 

'DataBase > Oracle' 카테고리의 다른 글

[Certificate] SQLD (200530_37)  (0) 2023.03.18
[Certificate] SQLD (200906_38)  (0) 2023.03.18
[Certificate] SQLD (201129_39)  (0) 2023.03.18
Oracle SQL 강의 - 31강 HAVING 절  (0) 2023.03.18
Oracle SQL 강의 - 30강 집계 함수와 GROUP BY  (0) 2023.03.17

기출문제 출처: 

 

[SQLD] 39회 기출 문제 ( 50문제 / 정답,해설포함 )

⏳남은시간 : 61분2초 📖SQLD. 제 39 회 기출 문제 문제 1. 특정 테이블에서 사원칼럼, 부서칼럼만 추출하는 경우에 DISK I/O를 경감할 수 있는 반정규화 방법은 무엇인가? 정답확인🌼 1) 수평 분할 2)

yunamom.tistory.com

 

6. 엔터티 종류
기본 엔터티: 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티
중심 엔터티: 기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 엔터티
행위 엔터티: 2개 이상의 엔터티로부터 발생하는 엔터티, 지속적으로 정보가 추가되고 변경되는 엔터티

7. 복합 식별자
PK(A, B)로 구성: (A,B)가 유일(A가 유일 X, B가 유일X)

* DISTINCT도 유사


9. 식별자
대표성 여부: 주식별자/보조식별자
주식별자: 대표성을 갖고 타 엔터티와 참조관계를 연결할 수 있음
스스로 생성 여부: 내부식별자/외부식별자
외부식별자: 타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자
대체여부: 본질식별자/인조식별자
본질: 업무에 의해 만들어지는 식별자
인조: 원조식별자가 복잡한 구성을 가지고 있을 떄 인위적으로 만드는 식별자

13. INDEX 생성
CREATE INDEX INDEX_NAME ON TABLE_NAME(COL_NAME)

28. 문법 오류: SELECT, GROUP BY
SELECT 구: GROUP BY절에 있는 COL 기재

29. Intersaction Entity(교차 엔터티)
M:M 관계를 해소하려는 목적으로 만들어진 ENTITY

33. COL DOMAIN 변경
ALTER TABLE TABLE_NAME MODIFY(COLUMN_NAME 조건)

38. 내일 날짜 조회
SELECT TO_CHAR(SYSDATE+1, 'YYYYMMDD') FROM DUAL;

* SYSDATE: DATE TYPE이므로 TO_DATE를 할 경우 오류 발생


39. CURSOR 순서
DECLARATION → OPEN → FETCH → CLOSE

43. 정규화
2차 정규화: 부분 종속 관계 → 테이블 분할
3차 정규화: 일반 속성간 종속 관계 → 테이블 분할

44. ROUND 함수
ROUND(7.45, 1): 소수 1째자리까지 반올림

49. CROSS JOIN
[SQLD39_49]
COL1  COL2  COL3
-----------------
1      1      3  ▶  2
1      2      3  ▶  2
2      1      3  ▶  1
3      1      3  ▶  2
3      2      3  ▶  2

50. SUBQUERY 연산자: EXISTS, NOT EXISTS
▶  SELECT COL_NAME 입력의 자유도가 높음

GROUP BY, DELETE 사용 X

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

집계 함수: SUM, MIN, MAX, COUNT, AVG

 

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL