[자격증] 정보처리기사 필기 : 제3과목 데이터베이스 (SQL 응용)

 정보

  • 업무명     : 정보처리기사 필기 : 제3과목 데이터베이스 (SQL 응용)

  • 작성자     : 박진만

  • 작성일     : 2021-03-03

  • 설   명      :

  • 수정이력 :

 

 

 내용

[SQL의 개념]

  • SQL(Structured Query Language)의 개요

  • SQL의 분류

 

[DDL]

  • DDL(Data Define Language, 데이터 정의어)의 개념

    • CREATE SCHEMA

    • CREATE DOMAIN

    • CREATE TABLE

    • CREATE VIEW

    • CREATE INDEX

    • ALTER TABLE

    • DROP

 

[DCL]

  • DCL(Data Control Language, 데이터 제어어)의 개념

    • GRANT / REVOKE

    • COMMIT

    • ROLLBACK

    • SAVEPOINT

 

[DML]

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

    • 삽입문(INSERT INTO~)

    • 삭제문(DELETE FROM~)

    • 갱신문(UPDATE~ SET~)

    • 검색 select ~ from

  • INSERT

    • 새로운 튜플을 삽입하는 명령이다.

    • INSERT INTO 테이블명(속성1, 속성2...) VALUE(데이터1, 데이터2..)

    • INSERT INTO 학생(번호, 이름, 학년, 학과) VALUES('010', '정수현‘, 2, ’사이버안보‘)

    • 학생테이블의 번호, 이름, 학년, 학과 속성에 '010', '정수현’, 2, ’사이버안보‘를 삽입하시오.

  • INSERT INTO 학생 VALUES ('홍길동','컴퓨터','서울')

  • INSERT INTO 학생 (이름,수강료) VALUES (홍길동,120)

    • INSERT INTO 수강정보(이름, 과목, 수강료)

    • SELECT 이름, 과목, 수강료

    • FROM 학생

    • WHERE 주소='서울’

  • DELETE

    • 테이블의 특정 튜플을 삭제하는 명령이다.

    • DELETE FROM 테이블명 WHERE 조건

    • DELETE FROM 학생 WHERE 번호=‘101’

    • DELETE FROM 학생

    • WHERE 과목='컴퓨터’

  • UPDATE

    • 테이블의 특정 튜플의 내용을 변경하고자 할 때 사용한다.

    • UPDATE 테이블명  SET 속성명=데이터

    • WHERE 조건;

      • UPDATE 학생 SET 이름='홍길동‘ WHERE 번호=’101‘

      • UPDATE 학생 SET 수강과목='컴퓨터‘  WHERE 이름='홍길동’

      • UPDATE 학생 SET 수강료=수강료+10000 WHERE 수강과목='컴퓨터’

  • SELECT

    • SELECT [DISTINCT] 속성명  FROM 테이블명

    • WHERE 조건

      • ORDER BY 정렬할 속성명 [ASC] 또는 [DESC]  GROUP BY 그룹화 속성명

      • HAVING 그룹조건;

        • <사원>테이블의 모든 튜플을 검색하시오.

        • <사원>테이블에서 주소속성만 나타내는데 같은 주소는 한번만 출력하시오.

        • <사원>테이블에서 급여에 10을 더한 값을 ‘○○부서의 ○○○의 급여는 ○○○입니다.’  형태로 출력하시오.

        • <사원>테이블에서 부서가 ‘편집’부인 모든 튜플을 검색하시오.

        • <사원>테이블에서 부서가 ‘편집’부이면서 주소가 ‘후월동’인 튜플을 검색하시오

        • <사원>테이블에서 부서가 ‘편집’이거나 ‘기획’인 튜플을 검색하시오.

        • <사원>테이블에서 성이 ‘홍’인 사람의 튜플을 검색하시오.

        • <사원>테이블에서 생일이 ‘1970-01-01’~‘1980-12-31’사이인 튜플을 검색하시오.

        • <사원>테이블에서 급여가 210~220인 튜플을 검색하시오.

        • <사원>테이블에서 주소가 NULL인 튜플을 검색하시오.

        • <사원>테이블에서 주소를 기준으로 오름차순 정렬시켜서 상위 2개의 튜플만 표시하시오.

        • <사원>테이블에서 부서를 기준으로 오름차순 정렬하고 같은 부서인 경우에는 ‘이름’을 기  준으로 내림차순 정렬시키시오.

        • <사원>테이블에서 부서별 급여의 평균을 구하시오.

        • <사원>테이블에서 부서별 튜플의 개수를 구하시오.

        • <사원>테이블에서 급여가 200 이상이고 사원이 2명 이상인 부서의 튜플의 수를 구하시  오.

        • 경력이 8년 초과인 사원의 이름, 부서, 특기, 경력을 검색하시오..

        • <사원>테이블에서 급여가 200 이상이고 사원이 2명 이상인 부서의 튜플의 수를 구하시오.

        • 경력이 8년 초과인 사원의 이름, 부서, 특기, 경력을 검색하시오..

 

[DML - JOIN]

  • JOIN의 개념

  • INNER JOIN : Equi join, cross join

  • OUTER JOIN : left, right, full

  • SELF JOIN

 

[문제]

  • 1. SQL언어의 데이터 제어어에 해당되는 것은?

    • ① Select

    • ② Insert

    • ③ Update

    • ④ Grant

 

  • 2. SQL문장에서 group  by 절에 의해 선택된 그룹의 탐색 조건을 지정할 수 있는 것은?

    • ① Having

    • ② Order by

    • ③ Union

    • ④ Join

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

[기상학/프로그래밍 언어]

  • sangho.lee.1990@gmail.com

[해양학/천문학/빅데이터]

  • saimang0804@gmail.com