Post

정보처리기사 실기 - 08.SQL 응용

중요도 ★★★★★ - 계산 문제 3대장 중 하나

정보처리기사 실기 - 08.SQL 응용

난이도
★★★☆☆, 너무 지엽적인 것만 아니면 전공자 입장에서는 쉬운 편이다.
중요도
★★★★★, 반드시 출제된다. 비중도 높다


😀 8장 이론 관계도

8장의 키워드를 관계도로 정리하였다.

memo_8

😋 8장 이론 정리

이론을 체크해보며 정확히 이해하고 있는지 비교해보자

DDL 데이터 정의어

1. CREATE

  1. CREATE TABLE의 문법 구조에 대해 설명하라
  2. ON DELETE, ON UPDATE 속성에 대해 설명하라
  3. CREATE VIEW의 문법 구조에 대해 설명하라
  4. CREATE INDEX에서 INDEX가 무엇인지, 선언을 위해서는 어떠한 문법 구조를 갖춰야 하는지 설명하라

2. ALTER

  1. ALTER TABLE의 문법 구조에 대해 설명하라
  2. ADD, ALTER, DROP COLUMN에 대해 설명하라

3. DROP

  1. DROP 명령어에 대해 설명하라
  2. DROP 명령어에 추가할 수 있는 속성에 대해 논하라

DCL 데이터 제어어

  1. DCL의 종류에 대해 논하라 COMMIT, ROLLBACK, REVOKE, GRANT

1. GRANT, REVOKE

  1. GRANT와 REVOKE에 대해 간략히 설명하라
  2. 조작할 수 있는 권한의 종류를 설명하라 ALL, SELECT, INSERT, DELETE

2. ROLLBACK

  1. ROLLBACK에 대해 설명하라
  2. COMMIT에 대해 설명하라

DML 데이터 조작어

1. INSERT INTO

  1. 삽입문 INSERT INTO의 문법을 설명하시오

2. UPDATE SET

  1. 갱신문 UPDATE SET의 문법에 대해 설명하시오

3. DELETE FROM

  1. 삭제문 DELETE FROM의 문법을 설명하시오

4. SELECT

  1. SELECT문의 구조에 대해 논하시오
  2. WHERE절에서 LIKE 연산자 사용 방법을 설명하시오
  3. WHERE절에서 IN 연산자 사용 방법을 설명하시오
  4. WHERE절에서 BETWEEN 사용 방법을 설명하시오 LIKE 연산자
  5. WHERE절에서 IS 사용 방법을 설명하시오
  6. ORDER BY절을 설명하시오
  7. 하위 질의문에 대해 설명하시오
  8. 집합 연산자에 대해 설명하시오 UNION, UNION ALL, INTERSECT, EXCEPT
  9. EQUI JOIN(동등 조인)에 대해 설명하시오 세타 조인, 동등 조인, 자연 조인
  10. OUTER JOIN에 대해 설명하시오 LEFT OUTER JOIN, RIGHT OUTER JOIN
  11. 트리거에 대해 설명하시오

😆 문제 풀이 체크 리스트

문제를 풀며 햇갈렸던 부분을 정리해두었다.

  1. COUNT() - NULL 값을 포함하지 않는다.
  2. 하위 질의문 - 최종적으로 출력해야 할 속성과 조건이 되어야 할 속성을 분류하면 쉽게 풀이된다.
  3. 집계함수 - WHERE 절에는 집계함수를 사용할 수 없다.
  4. AS - 속성명을 잘 봐야 한다. AS를 통해 속성명을 재정의해야 할 수도 있다.

🥰 8장 조금 더 알기

1. CREATE TABLE

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE 테이블명
    기본키 VARCHAR(15) NOT NULL,
    속성 CHAR(8) DEFAULT 기본값,
    외래키 CHAR(5),
    PRIMARY KEY(기본키),
    UNIQUE(대체키),
    FOREIGN KEY(속성) REFERENCES 참조테이블(참조_기본키)
        ON DELETE 옵션
        ON UPDATE 옵션,
    CONSTRAINT 제약조건명
        CHECK(조건식);

2. CREATE VIEW

1
2
CREATE VIEW 뷰명(속성 파라미터1, 속성 파라미터2)
AS SELECT 속성 FROM 테이블 WHERE 조건 [WITH CHECK OPTION]

3. CREATE INDEX

INDEX 빠른 접근을 위해 대상 속성과 포인터로만 구성된 테이블을 생성하는 것.

1
2
3
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(속성명 [ASC|DESC])[,속성명 [ASC|DESC]]
[CLUSTER]

4. ALTER TABLE

  1. 속성 추가
    1
    
    ALTER TABLE 테이블명 ADD 속성명 DEFAULT 기본값 NOT NULL;
    
  2. 속성 수정 (DEFAULT 수정)
    1
    
    ALTER TABLE 테이블명 ALTER 속성명 SET DEFAULT 기본값;
    
  3. 속성 삭제
    1
    
    ALTER TABLE 테이블명 DROP COLUMN 속성명 CASCADE;
    

5. DROP

1
2
3
4
5
6
DROP SCHEMA 스키마명 속성 CASCASDE|RESTRICT
DROP DOMAIN 도메인명 CASCASDE|RESTRICT
DROP TABLE 테이블명 CASCASDE|RESTRICT
DROP VIEW 뷰명 CASCASDE|RESTRICT
DROP INDEX 인덱스명 CASCASDE|RESTRICT
DROP CONSTRAINT 제약조건명 CASCASDE|RESTRICT
  • CASCADE - 해당 조건을 참고하고 있는 개체 모두 제거
  • RESTRICT - 해당 조건을 참고하고 있는 개체 있을 시 제거 취소

6. GRANT

1
GRANT 권한리스트 ON 개체(테이블) TO 사용자 [WITH GRANT OPTION]
  • WITH GRANT OPTION - 받은 권한을 타인에게 다시 부여할 수 있는 권한 제공

7. REVOKE

1
REVOKE [GRANT OPTION FOR] 권한리스트 ON 객체 FROM 사용자 [CASCADE]
  • GRANT OPTION FOR - 타인에게 권한을 부여할 수 있는 권한 회수
  • CASCADE - 타인에게 해당 권한을 부여했다면 모두 몰수

8. INSERT INTO

1
INSERT INTO 테이블(속성1, 속성2) VALUES (속성1, 속성2)

9. DELETE FROM

1
DELETE FROM 테이블명 WHERE 조건

10. UPDATE SET

1
UPDATE 테이블명 SET 속성명=데이터, 속성명=데이터 WHERE 조건

11. SELECT

1
2
3
4
5
6
SELECT [DISTINCT] 테이블명.속성명 [AS 별칭]
FROM 테이블명
WHERE 조건
GROUP BY 속성명, 속성명
HAVING 그룹 조건
ORDER BY 정렬속성 DESC

12. 하위 질의

1
 SELECT 속성 FROM 테이블명 WHERE 속성 = (SELECT 속성 FROM 테이블명 WHERE 속성)

13. OUTER JOIN

1
2
3
select 테이블1.속성 테이블2.속성
from 테이블1 LEFT OUTER JOIN 테에블2
ON 테이블1.속성 = 테이블2.속성
This post is licensed under CC BY 4.0 by the author.