정보처리기사 실기 - 08.SQL 응용
- 난이도
- ★★★☆☆, 너무 지엽적인 것만 아니면 전공자 입장에서는 쉬운 편이다.
- 중요도
- ★★★★★, 반드시 출제된다. 비중도 높다
😀 8장 이론 관계도
8장의 키워드를 관계도로 정리하였다.
😋 8장 이론 정리
이론을 체크해보며 정확히 이해하고 있는지 비교해보자
DDL 데이터 정의어
1. CREATE
- CREATE TABLE의 문법 구조에 대해 설명하라
- ON DELETE, ON UPDATE 속성에 대해 설명하라
- CREATE VIEW의 문법 구조에 대해 설명하라
- CREATE INDEX에서 INDEX가 무엇인지, 선언을 위해서는 어떠한 문법 구조를 갖춰야 하는지 설명하라
2. ALTER
- ALTER TABLE의 문법 구조에 대해 설명하라
- ADD, ALTER, DROP COLUMN에 대해 설명하라
3. DROP
- DROP 명령어에 대해 설명하라
- DROP 명령어에 추가할 수 있는 속성에 대해 논하라
DCL 데이터 제어어
- DCL의 종류에 대해 논하라
COMMIT, ROLLBACK, REVOKE, GRANT
1. GRANT, REVOKE
- GRANT와 REVOKE에 대해 간략히 설명하라
- 조작할 수 있는 권한의 종류를 설명하라
ALL, SELECT, INSERT, DELETE
2. ROLLBACK
- ROLLBACK에 대해 설명하라
- COMMIT에 대해 설명하라
DML 데이터 조작어
1. INSERT INTO
- 삽입문 INSERT INTO의 문법을 설명하시오
2. UPDATE SET
- 갱신문 UPDATE SET의 문법에 대해 설명하시오
3. DELETE FROM
- 삭제문 DELETE FROM의 문법을 설명하시오
4. SELECT
- SELECT문의 구조에 대해 논하시오
- WHERE절에서 LIKE 연산자 사용 방법을 설명하시오
- WHERE절에서 IN 연산자 사용 방법을 설명하시오
- WHERE절에서 BETWEEN 사용 방법을 설명하시오
LIKE 연산자
- WHERE절에서 IS 사용 방법을 설명하시오
- ORDER BY절을 설명하시오
- 하위 질의문에 대해 설명하시오
- 집합 연산자에 대해 설명하시오
UNION, UNION ALL, INTERSECT, EXCEPT
- EQUI JOIN(동등 조인)에 대해 설명하시오
세타 조인, 동등 조인, 자연 조인
- OUTER JOIN에 대해 설명하시오
LEFT OUTER JOIN, RIGHT OUTER JOIN
- 트리거에 대해 설명하시오
😆 문제 풀이 체크 리스트
문제를 풀며 햇갈렸던 부분을 정리해두었다.
- COUNT() - NULL 값을 포함하지 않는다.
- 하위 질의문 - 최종적으로 출력해야 할 속성과 조건이 되어야 할 속성을 분류하면 쉽게 풀이된다.
- 집계함수 - WHERE 절에는 집계함수를 사용할 수 없다.
- 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
빠른 접근을 위해 대상 속성과 포인터로만 구성된 테이블을 생성하는 것.
1
2
3
| CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(속성명 [ASC|DESC])[,속성명 [ASC|DESC]]
[CLUSTER]
|
4. ALTER TABLE
- 속성 추가
1
| ALTER TABLE 테이블명 ADD 속성명 DEFAULT 기본값 NOT NULL;
|
- 속성 수정 (DEFAULT 수정)
1
| ALTER TABLE 테이블명 ALTER 속성명 SET DEFAULT 기본값;
|
- 속성 삭제
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.속성
|