# Work/Data

[SQLD] JOIN : 오답노트 / SQL 기본 및 활용 / SQL 활용

im-jamie 2023. 2. 27. 17:26

SQLD 시험 내용
(a) 데이터 모델링의 이해 (출제 비중 20% : 10문제, 20점)
- 데이터 모델링의 이해 : 데이터모델의 이해 / 엔터티 / 속성 / 관계 / 식별자
- 데이터 모델과 성능 : 정규화와 성능 / 반정규화와 성능 / 대용량 데이터에 따른 성능 / DB 구조와 성능 / 분산 DB 데이터에 따른 성능
(b) SQL 기본 및 활용 (출제 비중 80% : 40문제, 80점)
- SQL 기본 : 정보 요구 사항 / DDL / DML / TCL / WHERE / FUNCTION / GROUP BY, HAVING / ORDER BY /JOIN
- SQL 활용 : 표준 조인 / 집합 연산자 / 계층형 질의 / 서브쿼리 / 그룹함수 / 윈도우 함수 / DCL / 절차형 SQL
- SQL 최적화 기본 원리 : 옵티마이저와 실행 계획 / 인덱스 기본 / 조인 수행 원리


1. 데이터 조작어에 해당하지 않는 명령어 : Alter -> Alter는 데이터 정의어이다. 

데이터 조작어 (DML) : Insert, Update, Delete

데이터 정의어 (DDL) : Create, Alter, Drop, Rename

데이터 제어어 (DCL) : Grant, Revoke  (제어어는 '권한' 관련)

 

2. Unique 제약 조건을 지정한 칼럼에는 Null 값을 쓸 수 있는가 : Unique 조건은 Null과 상관이 없다. 즉 1개 이상 Null 값 입력이 가능하다.

 

3. Check 제약 조건은 참 또는 거짓으로 평가할 수 있는 논리식을 지정한다. 해당 논리식에 대해 참인 데이터만 입력 가능하다.

 

3. 트랜잭션 특성

Atomicity (원자성) : 트랜잭션에 정의된 연산은 모두 실행되거나 전혀 실행되지 않은 상태

Consistency (일관성) : 트랜잭션 실행 전 DB 내용이 잘못되어 있지 않다면, 실행 후에도 잘못되어 있지 않음

Isolation (고립성) : 트랜잭션 실행 중 다른 트랜잭션 영향 받으면 안됨

Durability (지속성) : 트랜잭션이 성공하면 갱신한 내용은 영구적으로 저장됨

 

4. SQL Server는 Insert, Update, Delete 등 DML 선언 시 Auto Commit이 이루어진다.

- Oracle은 기본적으로 Auto Commit이 아니지만 Tuncate문이 실행될 때 Auto Commit이 같이 이루어진다.

 

5. TO_DATE( ) + 1 : 하루를 더한 것

- 1/24 = 1시간을 더한 것

- 1/24/60 = 1분을 더한 것

ex) 1/24/3 = 1시간을 3으로 나눈 값 즉 2시간

 

6. NULLIF(a,b) : a가 b면 null

 

7. 집계함수 (SUM, AVG, COUNT)는 NULL 값을 제외하고 계산

 

8. Alter 문

ALTER TABLE A MODIFY B VARCHAR2(400); --oracle

ALTER TABLE A.B ALTER COLUMN C VARCHAR2(400); --SQL Server

 

9. 

DROP : 테이블 삭제

DELETE : 로그 삭제

TRUNCATE : 데이터 삭제 -> DDL (Auto Commit)