관리 메뉴

SW

[2020 정보처리기사 필기] SQL 응용 (2) 본문

대학교/자격증

[2020 정보처리기사 필기] SQL 응용 (2)

SWKo 2020. 8. 9. 16:34

104. DML

1. DML(Data Manipulation Language, 데이터 조작어)의 개념

- DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어이다.

- DML은 데이터베이스 사용자와 관리 시스템 간의 인터페이스를 제공한다.

- SELECT, INSERT, DELETE, UPDATE

 

2. 삽입문(INSERT INTO~)

- INSERT INTO 테이블명([속성명1, 속성명2,..]) VALUES (데이터1, 데이터2);

- 대응하는 속성과 데이터는 개수와 데이터 유형이 일치해야 한다.

- 기본 테이블의 모든 속성을 사용할 때는 속성명을 생략할 수 있다.

- SELECT 문을 사용하여 다른 테이블의 검색 결과를 삽입할 수 있다.

 

3. 삭제문(DELETE FROM~)

- 기본 테이블에 있는 튜플들 중에서 특정 튜플을 삭제할 때 사용한다.

- DELETE FROM 테이블명 [WHERE 조건];

- 모든 레코드를 삭제하더라도 테이블 구조는 남아있기 때문에 디스크에서 테이블을 완전히 제거하는 DROP과는 다르다.

 

4. 갱신문(UPDATE~ SET~)

- 갱신문은 기본 테이블에 있는 튜플들 중에서 특정 튜플의 내용을 변경할 때 사용한다.

- UPDATE 테이블명 SET 속성명=데이터[, 속성명=데이터,..] [WHERE 조건];

 

핵심

- INSERT INTO... VALUES(O), INSERT... ON... VALUES(X)

- 각 명령어의 형식


105. DML - SELECT - 1

1. 일반 형식

- SELECT 절

     - PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술한다.

          - ALL : 모든 튜플을 검색할 때 지정, 주로 생략

          - DISTINCT : 첫 번째 한 개만 검색

          - DISTINCTROW : 중복된 튜플을 제거하고 한 개만 검색하지만 선택된 속성의 값이 아닌, 튜플 전체를 대상으로 한다.

     - 속성명 : 검색하여 불러올 속성 또는 속성을 이용한 수식을 지정한다.

          - 기본 테이블을 구성하는 모든 속성을 지정할 때는 '*'를 기술

          - 두 개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현

     - AS : 속성 및 연산의 이름을 다른 제목으로 표시하기 위해 사용

- FROM 절 : 질의에 검색될 데이터들을 포함하는 테이블명을 기술

- WHERE 절 : 검색할 조건을 기술

- ORDER BY 절 : 특정 속성을 기준으로 정렬하여 검색할 때 사용

 

2. 기본 검색

- SELECT 절에 원하는 속성을 지정하여 검색

 

3. 조건 지정 검색

- WHERE 절에 조건을 지정하여 조건에 만족하는 튜플만 검색

 

4. 정렬 검색

- ORDER BY 절에 특정 속성을 지정하여 지정된 속성으로 자료를 정렬하여 검색

 

5. 하위 질의

- 하위 질의는 조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용

 

6. 복수 테이블 검색

- 여러 테이블을 대상으로 검색을 수행

 

핵심

- SELECT문 형식을 알고 있어야 문제 풀이 가능


106. DML - SELECT - 2

1. 일반 형식

- 그룹함수 : GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술한다.

- WINDOW 함수 : GROUP BY절을 이용하지 않고 속성의 값을 집계할 함수를 기술한다.

          - PARTITION BY : WINDOW 함수가 적용될 범위로 사용할 속성을 지정한다.

          - ORDER BY : PARTITION 안에서 정렬 기준으로 사용할 속성을 지정한다.

- GROUP BY절 : 특징 속성을 기준으로 그룹화하여 검색할 때 사용한다. 일반적으로 GROUP BY절은 그룹 함수와 함께 사용된다.

- HAVING 절 : GROUP BY와 함께 사용되며, 그룹에 대한 조건을 지정한다.

- 그룹함수 : COUNT, SUM, AVG, MAX, MIN, STDDEV(표준편차), VARIANCE(분산), ROLLUP(인수로 주어진 속성을 대상으로 그룹별 소계), CUBE(모든 조합의 그룹별 소계)

- WINDOW 함수 : ROW_NUMBER()(일련번호 반환), RANK()(윈도우 별로 순위 반환, 공동 순위 반영), DENSE_RANK()(윈도우 별로 순위 반환, 공동 순위 무시)

 

2. WINDOW 함수 이용 검색

- GROUP BY 절을 이용하지 않고 함수의 인수로 지정한 속성을 범위로 하여 속성의 값을 집계한다.

 

3. 그룹 지정 검색

- GROUP BY 절에 지정한 속성을 기준으로 자료를 그룹화하여 검색 한다.

 

4. 집합 연산자를 이용한 통합 질의

- 집합 연산자를 사용하여 2개 이상의 테이블의 데이터를 하나로 통합한다.

- UNION : 중복없음

- UNION ALL : 중복있음

 

핵심

- 그룹합수

- HAVING

- UNION


107. DML - JOIN

1. JOIN의 개념

- JOIN은 2개의 테이블에 대해 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다.

- JOIN은 크게 INNER JOIN과 OUTER JOIN으로 구분된다.

- JOIN은 일반적으로 FROM 절에 기술하지만, 릴레이션이 사용되는 어느 곳에서나 사용할 수 있다.

 

2. INNER JOIN

- INNER JOIN은 일반적으로 EQUI JOIN과 NON-EQUI JOIN으로 구분된다.

- 조건이 없는 INNER JOIN을 수행하면 CROSS JOIN과 동일한 결과를 얻을 수 있다.

- EQUI JOIN : JOIN 대상 테이블에서 공통 속성을 기준으로 '=' 비교에 의해 같은 값을 가지는 행과 연결하여 결과를 생성하는 JOIN 방법이다. 중복된 속성을 제거하고 한 번만 표기하는 것을 NATURAL JOIN이라고 한다. EQUI JOIN에서 연결 고리가 되는 공통 속성을 JOIN 속성이라고 한다.

- 가장 자주 사용되는 것은 'WHERE 테이블1.속성명 = 테이블2.속성명' 과 같은 형태이다.

- NON-EQUI JOIN : '='조건이 아닌 나머지 비교 연산자

 

3. OUTER JOIN

- OUTER JOIN은 릴레이션에서 JOIN 조건을 만족하지 않는 튜플도 결과를 출력하기 위한 JOIN 방법으로 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이 있다.

- LEFT OUTER JOIN : INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가한다.

- RIGHT OUTER JOIN : LEFT OUTER JOIN의 반대

- FULL OUTER JOIN : LEFT, RIGHT 합쳐 놓은 것

 

4. SELF JOIN

- 같은 테이블에서 2개의 속성을 연결하여 EQUI-JOIN을 하는 JOIN 방법이다.

 

핵심

- CROSS JOIN : 조건없는 INNER JOIN

- NATURAL JOIN : 중복 제거하고 한 번만 표기

- LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN

Comments