나의 공부 일기

SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 4 / 4 ) 본문

자격증공부/SQL 개발자

SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 4 / 4 )

곽병권 2024. 3. 5. 15:16
728x90

SET OPERATOR(일반 집합 연산자)

UNION

- 여러개의 SQL문의 결과에 대한 합집합 으로 결과에서 모든 중복된 행은 하나의 행으로 만듬

UNION ALL

- 여러개의 SQL문의 결과에 대한 합집합 으로 중복된 행도 그대로 결과로 표시된다.
- 단순히 결과만 합쳐놓은것을 말함

- 일반적으로 여러 질의 결과가 상호 배타적(Exclusive)일 때 많이 사용함

- 개별 SQL문의 결과가 서로 중복되지 않는 경우, UNION과 결과가 동일함

- 결과의 정렬 순서에는 차이가 있을 수 있음

- UNION 연산자를 사용한 SQL은 각각의 집합에 ORDER BY 절 사용 불가

- UNION 연산자를 사용한 SQL은 각각의 집합에 GROUP BY 절 사용 가 

INTERSECT

- 여러 개의 SQL문의 결과에 대한 교집합 으로 결과에서 모든 중복된 행은 하나의 행으로 만든다

EXCEPT(MINUS)

- 앞의 SQL문의 결과에서 뒤의 SQL문의 결과에 대한 차집합 으로 중복된 행은 하나의 행으로 만든다.

-  일부 데이터베이스는 MINUS를 사용함

 

 

 

다중 칼람(Multi Column) 서브 쿼리

- 서브쿼리의 실행 결과로 여러 칼럼을 반환함

- 메인쿼리의 조건절에 여러 칼럼을 동시에 비교할 수 있다.

- 서브쿼리와 메인 쿼리에서 비교하고자 하는 칼럼 개수와 칼럼의 위치가 동일해야 함

 

 

 

계층형 질의(Hierarchical Query)

- 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의 를 사용함

- SQL Server에서의 계층형 질의문은 CTE(common Table Expression)를 재귀 호출함으로써 계층 구조를 전개함

- SQL Server에서의 계층형 질의문은 앵커 멤버를 실행하여 기본 결과 집합을 만들고 이후 재귀 멤버를 지속적으로 실행함

- 오라클의 계층형 질의문에서 WHERE 절은 모든 전개를 진행한 이후 필터 조건으로서 조건을 만족하는 데이터만을 추출하는 데 활용됌

 

계층형 데이터

- 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말한다.

- EX) 사원 테이블 에서는 사원들 사이에 상위 사원(관리자)과 하위 사원 관계가 존재하며, 조직 테이블에서는 조직들 사이에 상위 조직과 하위 조직 관계가 존재하는것을 말한다.

 

셀프 조인(Self Join)

- 동일 테이블 사이의 조인을 말함

- 따라서 FROM 절에 동일 테이블이 두 번 이상 나타남

- 동일 테이블 사이의 조인을 수행하면 테이블과 칼럼 이름이 모두 동일하기 때문에 식별을 위해 반드시 별칭(Alias) 를 사용해야 함

 

서브쿼리

- 서브쿼리는 단일 행(Single Row) 또는 복수 행(Multi Row) 비교 연산자와 함께 사용할 수 있다.

- SELECT 절 , FROM 절, HAVING 절, ORDER BY 절 등에서 사용이 가능하다.

- 연관(Correlated) 서브쿼리는 서브쿼리

 

 

WINDOW FUNTION 내의 함수

LEAD

- LEAD(행) 을 실행한다면 행 이후의 행을 출력합니다

- EX) 

이런 데이터 베이스가 있을때

LEAD(값) OVER(ORDER BY 이름) AS 값2 을 실행하였을때

 

 

 

 

 

이렇게 값2 라는 열이 추가 되며 (값) 이후의 값을 반환하여 생성합니다.

이후 값이 없으면 NULL 값을 반환합니다.

 

 

 

LAG

- LAG(행) 을 실행한다면 행 이전의 행을 출력합니다

 

마찬가지로 이런 데이터베이스가 있다면

LAG(값) OVER(ORDER BY 이름) AS 값2 을 실행하였을때

 

 

 

 

이렇게 값2 라는 열이 추가 되며 (값) 이전의 값을 반환하여 생성합니다.

이전 값이 없으면 NULL 값을 반환합니다.

 

 

제약조건의 종류

- PRIMARY KEY(기본키)

- UNIQUE KEY(고유키)

- NOT NULL

- CHECK

- FOREIGN KEY(외래키)

 

 

트랜잭션의 특성

원자성(Atomicity)

- 트랜잭션에 정의된 연산들은 모두 성공적으로 실행되거나 전혀 실행되지 않은 상태로 남아 있어야 한다.(all or nothing)

 

일관성(Consistency)

- 트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜잭션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안된다.

 

고립성(Isolation)

- 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안된다.

 

지속성(Durability)

- 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적으로 저장된다.

 

 

728x90