일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 1과목
- 조건문
- 스크랩핑
- 프로그래머스
- 데이터베이스
- SQL
- SQLD
- 튜플
- 딕셔너리
- 자격증공부
- 크롤링
- SQL 개발자
- time.sleep
- 파이썬
- 메서드
- CSV
- Python
- 정보처리기사
- 프로젝트
- HTML
- lv0
- django
- 파이선
- 슬라이싱
- 자격증
- 태그
- 정리
- Crawling
- scraping
- 데이터 타입
- Today
- Total
나의 공부 일기
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 4 / 4 ) 본문
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)
- 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적으로 저장된다.
'자격증공부 > SQL 개발자' 카테고리의 다른 글
SQL 개발자 자격증 공부 - 1과목 데이터 모델링의 이해 복습 - 1 (0) | 2024.02.21 |
---|---|
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 3 / 4 ) (1) | 2024.02.11 |
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 2 / 4 ) (0) | 2024.02.07 |
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 1 / 4 ) (1) | 2024.02.05 |
SQL 개발자 자격증 공부 - 1과목 데이터 모델링의 이해 ( 2 / 2 ) (1) | 2024.02.05 |