[1. SQL 응용]
Chapter01. 기본 SQL 작성하기
section01. SQL 정의어(DDL)
1. SQL 정의어(DDL, Data Definition Language)
- 정의어(DDL)는 관계 데이터베이스에서 사용될 테이블, 스키마, 도메인, 인덱스, 뷰 등을 정의(생성)하거나 수정·제거하기 위해 사용되는 언어이다.
- CREATE, ALTER, DROP문이 있다.
* 기출 문제 - 2020년 2회 : 인덱스 생성
09. 다음 주어진 <student> 테이블의 name 속성을 오름차순하여 idx_name를 인덱스명으로 하는 인덱스를 생성하는 SQL 명령문을 작성하시오.
: CREATE INDEX idx_name ON student (name asc)
2. CREATE
- 테이블 정의
- 테이블은 CREATE TABLE 문에 의해 생성된다.
- 구문
-
CREATE TABLE 테이블_이름 ({속성_이름 데이터_타입 [NOT NULL], } [PRIMARY KEY(속성_이름), ] [UNIQUE(속성_이름), ] [FOREIGN KEY(속성_이름) REFERENCES 참조테이블_이름(속성_이름) [ON DELETE CASCADE | SET NULL | SET DEFAULT | NO ANTION] [ ON DELETE CASCADE | SET NULL | SET DEFAULT | NO ANTION], ] [CONSTRAINT 제약조건_이름 CHECK(속성_이름 = 범위값) ] );
- 구문에서 표현된 '{ }'는 반복, '[ ]'는 생략 가능, '|'는 선택을 의미한다.
- 스키마 정의
- 시스템 관리자가 일반 사용자에게 스키마에 대한 권한을 주기 위한 스키마를 만들기 위해 사용
- CREATE SCHEMA 문에 의해 생성된다.
- 구문
-
CREATE SCHEMA 스키마_이름 AUTHORIZATION 사용자;
- 도메인 정의
- 한 속성값의 범위를 지정하기 위한 도메인은 CREATE DOMAIN 문에 의해 생성된다.
- 구문
-
CREATE DOMAIN 도메인_이름 데이터_타입
[DEFAULT 기본값]
[CONSTRAINT 제약조건_이름 CHECK(VALUE IN(범위 값))];
- 인덱스 정의
- 데이터베이스 내의 자료를 보다 효율적으로 검색하기 위해 인덱스를 만들며, 시스템에 의해 자동 관리된다.
- CREATE INDEX 문에 의해 생성된다.
- 구문
-
CREATE [UNIQUE] INDEX 인덱스_이름
ON 테이블_이름(속성_이름 [ASC|DESC])
[CLUSTER];
* 기출 문제 - 2020년 3회 : ALTER
06. <학생> 테이블에 '주소' 컬럼을 추가하는 SQL문을 완성하는 빈 칸 ①, ②에 알맞은 예약어를 쓰시오.
( ① ) TABLE 학생 ( ② ) 주소 VARCHAR(20);
|
: ① ALTER , ② ADD
3. ALTER
- 기존에 만들어진 테이블에 새로운 속성을 추가하거나 기존 속성을 변경·삭제할 때 사용하는 명령어
- 구문
ALTER TABLE 테이블_이름 ADD 속성_이름 데이터_타입 [DEFALUT];
ALTER TABLE 테이블_이름 ALTER 속성_이름 [SET DEFAULT];
ALTER TABLE 테이블_이름 DROP 속성_이름 [CASCADE | RESTRICT];
* 기출 문제 - 2023년 2회 : DROP, CASCADE
5. 다음 뷰(VIEW)를 연쇄적으로 제거하는 빈칸에 알맞은 명령을 쓰시오.
DROP VIEW 뷰_이름 ( );
CASCADE
4. DROP
- 기존에 사용되던 테이블, 스키마, 도메인, 인덱스, 뷰, 제약조건 등을 제거할 때 사용하는 명령으로 삭제 시 테이블 전체가 제거된다.
- 구문
DROP TABLE 테이블_이름 [CASCADE | RESTRICT];
DROP SCHEMA 스키마_이름 [CASCADE | RESTRICT];
DROP DOMAIN 도메인_이름 [CASCADE | RESTRICT];
DROP VIEW 뷰_이름 [CASCADE | RESTRICT];
DROP INDEX 인덱스_이름;
DROP CONSTRAINT 제약조건_이름;
section02. SQL 조작어(DCL)
* 기출 문제 - 2020년 1/2/3/4회, 2021년 1/2회, 2022년 1/2/3회, 2024년 1/2회
08. 학생(STUDENT) 테이블에 전자과 학생 50명, 전기과 학생 100명, 건축과 학생 50명의 정보가 저장되어 있을 때, 다음 ①~③ SQL문의 실행 결과 튜플 수를 쓰시오. (단, DEPT 컬럼은 학과명이다.)
① SELECT DEPT FROM STUDENT;
② SELECT DISTINCT DEPT FROM STUDENT; ③ SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT=‘건축과’; |
: ① 200 , ② 3 , ③ 1
08. 아래 보기의 <학생> 테이블을 대상으로 <요구사항>을 적용하여 출력하는 SQL문을 작성하시오.
<요구사항>
|
학번 | 이름 | 학년 |
181101 | KKK | 1 |
171201 | HHH | 2 |
161107 | YYY | 3 |
151403 | QQQ | 4 |
: SELECT 학생, 이름 FROM 학생 WHERE 학년 in (3, 4)
07. <성적> 테이블을 대상으로 아래 <요구사항>을 적용하여 결과를 출력하는 SQL문을 작성하시오.
<성적> 테이블
학번 | 과목 번호 | 과목 이름 | 학점 | 점수 |
A100 | 101 | 데이터베이스 | A | 95 |
A101 | 201 | 자료구조 | B | 80 |
A102 | 101 | 데이터베이스 | A | 99 |
A103 | 201 | 자료구조 | B | 88 |
A104 | 201 | 자료구조 | C | 79 |
<요구사항>
|
: SELECT 과목이름, MIN(점수) AS 최소점수 , MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목이름 HAVING AVG(점수) >= 90
05. <학생> 테이블을 대상으로 <요구사항>을 적용하여 아래 <결과>와 같이 출력하는 SQL문을 작성하시오.
<학생> 테이블
학번 | 이름 | 학과 | 성적 | 주소 |
2020021 | 철수 | 전기 | 90 | 서울 |
2020001 | 민수 | 컴퓨터 | 70 | 대전 |
2021022 | 영희 | 건축 | 85 | 서울 |
2022013 | 민호 | 건축 | 95 | 원주 |
2020007 | 병희 | 컴퓨터 | 100 | 울산 |
<결과>
학과 | 학과별튜플수 |
전기 | 1 |
컴퓨터 | 2 |
건축 | 2 |
<요구사항>
|
: SELECT 학과, COUNT(*) AS 학과별튜플수
FROM 학생 GROUP BY 학과
16. 다음 SQL 문의 실행 결과를 쓰시오.
SELECT COUNT(*) FROM EMP WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200 |
EMPNO | ENAME | AGE | SAL | DEPT_ID |
100 | 홍길동 | 25 | 1000 | 20 |
200 | 강감찬 | 40 | 3000 | 30 |
300 | 이순신 | 42 | 1500 | 40 |
400 | 강희영 | 25 | 2500 | 40 |
1
07. 다음 <학생> 테이블에서 이름이 '이'씨로 시작하는 사람을 내림차순 정렬로 출력하는 SQL 문을 완성하시오.
학번 | 이름 | 학년 | 학과 |
181101 | KKK | 1 | 컴퓨터공학과 |
171201 | HHH | 2 | 전자공학과 |
171302 | XXX | 3 | 컴퓨터공학과 |
161107 | YYY | 3 | 건축공학과 |
151403 | QQQ | 4 | 전자공학과 |
SELECT *
FROM 학생
WHERE 이름 LIKE '이%' ORDER BY 이름 DESC;
13. 다음 SQL 결과에 알맞는 쿼리를 작성하시오.
NAME | SCORE |
LEE | 95 |
KIM | 90 |
SONG | 60 |
SELECT NAME, SCORE FROM 성적 ( ① ) BY ( ② ) (③ )
|
① ORDER , ② SCORE , ③ DESC
13. 다음 릴레이션의 데이터는 다음과 같이 저장되어 있다. SQL문을 수행했을 때 결과를 쓰시오.
IDX | COL1 | COL2 |
1 | 2 | NULL |
2 | 3 | 6 |
3 | 5 | 5 |
4 | 6 | 3 |
5 | NULL | 3 |
SELECT COUNT(COL2)
FROM TABLE WHERE COL1 IN (2, 3) OR COL2 IN (3, 5) |
4
13. 아래의 테이블에서 SQL 명령을 수행할 경우 알맞은 값을 작성하시오.
<테이블 생성 SQL문> 생략 <튜플 삽입 SQL문> 생략
① SELECT COUNT(DISTINCT 사원번호) FROM 사원 WHERE 부서번호 = '20';
② DELETE FROM 부서 WHERE 부서번호 = '20';
SELECT COUNT(DISTINCT 사원번호) FROM 사원;
① 3, ② 4
14. STUDENT 테이블에 컴퓨터학과 학생 50명, 기계과 학생 100명, 건축과학생 50명의 데이터가 있다. 다음 SQL문의 실행결과 튜플의 수는 몇인지 작성하시오.
① SELECT DEPT FROM STUDENT;
② SELECT DISTINCT DEPT FROM STUDENT; ③ SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT='건축과'; |
① 200 , ② 3 , ③ 1
13. 아래 보기의 SQL 문장과 테이블을 참고하여 출력 값을 표로 작성하시오.
SELECT B FROM R1
WHERE C IN (SELECT C FROM R2 WHERE D="k");
<R1>
A | B | C |
1 | a | x |
2 | b | x |
1 | c | w |
3 | d | w |
<R2>
C | D | E |
x | k | 3 |
y | k | 3 |
z | s | 2 |
<답>
B |
a |
b |
1. SELECT(검색문)
- 테이블에서 원하는 자료를 검색하고자 하는 경우에 사용되는 명령문, 산술식에 의한 계산도 수행
- 구문
SELECT (DISTINCT) 속성_이름 FROM 테이블_이름 (WHERE 조건) (GROUP BY 속성_이름 (HAVING 그룹조건)) (ORDER BY 속성_이름 (ASC/DESC)) |
- DISTINCT : 검색 결과에 중복되는 값이 있는 경우 한 번만 표현하도록 하는 옵션이며, 생략 시 중복된 값이 모두 표시된다.
- HAVING 그룹조건 : GROUP BY에 의해 그룹으로 분류를 한 후 조건을 제시할 때 사용된다.
- ASC : 오름차순(작은 값에서 큰 값)으로 정렬할 때 사용되는 옵션이다. 기본 옵션이다.
- DESC : 내림차순(큰 값에서 작은 값)으로 정렬할 때 사용되는 옵션이다.
- 문자열 부분 매치(LIKE절)와 정렬(오름차순, 내림차순)
- 부분 매치 질의문은 조건문 작성 시 자료의 일부를 가지고 비교하여 검색하는 질의문이다.
- 부분 매치 질의문에서 '%'는 여러 문자를 대신하고, '_'는 한 자리를 대신한다.
- '%'나 '_'를 이용하여 조건문을 작성할 때는 '='를 대신하여 'LIKE'를 이용한다.
- COUNT 함수는 COUNT(*)인 경우에 NULL값도 카운트하지만, COUNT(컬럼명)인 경우 NULL값은 카운트하지 않는다.
* 기출 문제 - 2023년 2회, 2024년 2회
6. 아래 보기의 <학생> 테이블에 학번 984104, 성명 '한국산', 학년 3, 과목명 '경영학개론', 전화번호 '050-1234-1234' 학생 튜플을 삽입하는 SQL 문을 작성하시오. (단, 성명, 과목명, 전화번호 속성의 데이터는 문자형이고, 학번, 학년 속성의 데이터는 숫자형이다. 문자형 데이터는 작은 따옴표 (' ')로 표시하시오.)
<학생>
학번 | 성명 | 학년 | 과목명 | 전화번호 |
233355 | 강희영 | 2 | 자료구조 | 010-1111-1111 |
244188 | 홍길동 | 1 | 디지털논리회로 | 010-2222-2222 |
INSERT INTO 학생(학번, 성명, 학년, 과목명, 전화번호) VALUES(984104, '한국산', 3, '경영학개론', '050-1234-1234');
2. INSERT(삽입문)
- INSERT문은 기존 테이블에 새로운 자료(튜플)을 삽입하는 경우 사용하는 명령문이다.
- 구문
INSERT INTO 테이블_이름[(속성_이름...)] VALUES (속성값...); |
- INSERT INTO 테이블_이름[(속성_이름...)]
- 자료가 삽입될 테이블 이름과 테이블에서 자료가 삽입될 속성 이름들을 기입한다. 삽입될 자료가 테이블의 모든 속성값을 가지고 있는 경우는 속성 이름을 생략해도 되지만 그렇지 않은 경우 속성 이름을 반드시 기입한다.
- VALUES (속성값...)
- 각 속성에 삽입될 실제 속성값들을 기입한다.
* 기출 문제 - 2021년 2회, 2024년 2회
10. 학생 테이블에서 점수가 90점 이상인 학생의 과목평가를 'A'로 수정하는 SQL문을 완성하시오.
( ① ) 학생
( ② ) 과목평가 = 'A' WHERE 점수 >= 90 |
① UPDATE , ② SET
3. UPDATE(갱신문)
- SQL의 DML 명령어 중 UPDATE 명령문은 테이블의 자료(튜플) 중에서 값을 변경하고자 하는 경우에 사용되는 명령문이다.
- 구문
UPDATE 테이블명 SET 변경속성명 = 변경값 WHERE 조건식; |
* 기출 문제 - 2020년 3회, 2023년 1회
08. <학생> 테이블에서 이름이 '민수'인 학생 튜플을 삭제하는 SQL문을 작성하시오. (단, 다음의 요구사항을 참고하여 작성하시오.)
<요구사항>
|
: DELETE FROM 학생 WHERE 이름='민수';
4. 아래 보기의 <학생> 테이블에서 이름이 '민수'인 학생 튜플을 삭제하는 SQL문을 작성하시오. (단, 다음의 요구사항을 참고하여 작성하시오.)
<요구사항>
1. 이름 속성의 데이터는 문자형이다. 문자형 데이터는 작은 따옴표('')로 표시하시오. 2. SQL 명령문은 대/소문자를 구분하지 않는다. 3. SQL 명령문의 종결 문자는 세미콜론(;)은 생략 가능하다. 4. 실행 결과가 일치하더라도 <요구사항>을 적용하지 않은 SQL 문을 작성하면 오답으로 간주한다. |
<학생>
학번 | 이름 | 학과 | 전화번호 |
2345001 | 철수 | 컴퓨터 | 010-1111-1111 |
2347003 | 민수 | 수학 | 010-2222-2222 |
2345005 | 영희 | 컴퓨터 | 010-3333-3333 |
2349007 | 민호 | 통계 | 010-4444-4444 |
DELETE FROM 학생 WHERE 이름 = '민수';
4. DELETE(삭제문)
- 테이블의 자료(행)을 삭제할 경우 사용하는 명령문이다.
- WHERE 절의 조건에 맞는 행만 삭제되며, WHERE절이 생랸된 경우 모든 행이 삭제되어 빈 테이블이 된다.
- 구문
DELETE FROM 테이블_이름 (WHERE 조건); |
section03. SQL 제어어(DCL)
1. COMMIT 명령어
- 데이터베이스 내의 연산이 성공적으로 종료되어 연산에 의한 수정 내용을 지속적으로 유지하기 위한 명령어
* 기출 문제 - 2020년 2회
11. SQL 제어어(DCL) 중 ROLLBACK 명령에 대해 간략히 설명하시오.
: 데이터베이스 내의 연산이 비정상적으로 종료되거나 정상수행이 되었다 하더라도 수행되기 이전의 상태로 되돌리기 위한 명령이다.
2. ROLLBACK 명령어
- 데이터베이스 내의 연산이 비정상적으로 종료되거나 정상적으로 수행이 되었다 하더라도 수행되기 이전 상태로 되돌리기 위해 연산 내용을 취소할 때 사용하는 명령어
* 기출 문제 - 2021년 3회
02. 데이터 제어어(DCL)의 하나인 GRANT의 기능에 대해 간략히 서술하시오.
사용자에게 접속권한, 생성 권한 등을 부여하는 명령어 (흥달쌤)
CRANT 명령어는 관리자가 사용자에게 데이터베이스에 대한 권한을 부여하기 위한 명령어이다. (이기적)
3. GRANT 명령어
- 관리자가 사용자에게 데이터베이스에 대한 권한을 부여하기 위한 명령어
- 구문
GRANT 권한내용 ON 테이블_이름 TO 사용자 [WITH GRANT OPTION]; |
- WITH GRANT OPTION : 사용자가 관리자로부터 부여받은 권한을 다른 사용자에게 부여할 수 있는 권한 부여권까지 부여하고자 할 때 사용하는 옵션
4. REVOKE 명령어
- 관리자가 사용자에게 부여했던 권한을 취소하기 위해 사용되는 명령어
- 구문
REVOKE 권한내용 ON 테이블_이름 FROM 사용자 [CASCADE]; |
Chapter02. 고급 SQL 작성하기
section01. 인덱스(INDEX)
1. 인덱스 개념
2. 인덱스 구조
3. 인덱스 기타 유형
4. 인덱스 정의어
5. 인덱스 스캔(Index Scan) 방식
section02. 뷰(VIEW)와 시스템 카달로그
1. 뷰(VIEW)
2. 시스템 카달로그(System Catalog)
section03. 다중 테이블 검색
1. 부속(하위) 질의
* 기출 문제 - 2021년 2/3회, 2024년 1회
12. 학생 정보와 학과 정보를 조인하여 결과값을 출력하는 SELECT문을 완성하시오.
SELECT * FROM 학생정보 T1 JOIN 학과정보 T2
( ① ) T1.학과 = T2.( ② ) |
① ON , ② 학과
15. T1 테이블과 T2 테이블을 참고하여 SQL 실행 결과를 쓰시오.
<T1> 테이블 <T2> 테이블
NAME | RULE |
ALLEN | S% |
SCOTT | %T% |
SMITH |
SELECT COUNT(*) AS CNT FROM A CROSS JOIN B
WHERE A.NAME LIKE B.NAME |
4
8. 아래 내용의 각각의 설명에 대한 답을 작성하시오.
(1) 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환한다. (2) 조건이 정확하게 '=' 등호로 일치하는 결과를 반환한다. (3) (2) 조인에서 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다. |
(1) : 세타 조인
(2) : 동등 조인
(3) : 자연 조인
2. 조인(JOIN)
- 둘 이상의 테이블로부터 특정 공통된 값을 갖는 행을 연결하거나 조합하여 검색하는 것
- 동등 조인(Equi Join)에서의 JOIN~ON
- 동등 조인은 조인 대상 테이블에서 공통 속성을 '='(equal) 비교를 통해 같은 값을 가지는 행을 연결한다.
- 임의의 조건을 지정하거나 조인할 컬럼을 지정하려면 ON절을 사용한다.
- 두 테이블을 JOIN 연산한 뒤 자료를 검색하는 형태의 질의문을 말한다.
- 형식 : [테이블1] JOIN [테이블2] ON [조인조건]
- 교차 조인 (Cross Join)
- 교차조인은 '카티션 곱'이라고도 하며, 참조되는 두 테이블의 각 행의 수를 모두 곱한 결과의 행 수로 테이블이 반환된다. 대개 테스트로 사용할 대용량의 테이블을 생성할 경우에 사용된다.
- 반환되는 결과 테이블은 두 테이블의 디그리의 합과 카디널리티의 곱의 크기이다.
- 형식 : SELECT 속성리스트 FROM 테이블1 CROSS JOIN 테이블2 WHERE 조건식;
세타 조인 (Theta Join) |
- 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환한다. - 비교 연산자로 =, >, <, >=, <=, <> 등이 사용될 수 있다. - 일반적으로 모든 조건 기반 조인을 세타 조인이라고 부르며, 동등 조인과 자연 조인 또한 세타 조인의 특수한 경우로 볼 수 있으며, 두 테이블 간의 특정 관계를 규명할 때 사용된다. |
동등 조인 (Equi Join) |
- 조건이 정확하게 '=' 등호로 일치하는 결과를 반환한다. - 조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 값이 일치되는 공통 행을 연결하여 결과를 생성하는 조인 방법 - 동등 조인은 WHERE절에 조인 조건으로 '=' 비교 연산자를 사용한다. |
자연 조인 (Natural Join) |
- 동등 조인에서 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다. - 테이블 간의 모든 컬럼을 대상으로 공통 컬럼을 자동으로 조사하여 같은 컬럼명을 가진 값이 일치할 경우 조인 조건을 수행한다. |
* 기출 문제 - 2023년 3회 : ALL
3. 다음 두 테이블을 대상으로 <SQL문>을 실행한 출력결과를 쓰시오.
<T1>
A |
1 |
3 |
2 |
<T2>
A |
4 |
5 |
<SQL문>
SELECT A FROM T1
UNION
SELECT A FROM T2
ORDER BY A DESC;
5
4
3
2
1
3. 집합(SET) 연산자
- SELECT문의 질의 결과 행으로 얻은 두 테이블을 집합(SET) 연산자로 집합 단위의 연산을 할 수 있다.
- 집합 연산자에는 UNION, UNION ALL, INTERSECT, MINUS가 있다.
- UNION 연산
- DML의 SELECT문의 질의 결과 행으로 얻은 두 테이블 집합(SET) 연산자로 집합 단위의 연산을 할 수 있다. 두 SELECT문으로 선택된 컬럼 A에 대해 UNION 연산을 수행하여 중복을 제거한 후, 행을 합친 후 내림차순 정렬을 수행하여 최종 결과를 출력한다.
- UNION 연산
UNION | 두 질의 결과 행을 합치고 중복을 제거함 |
UNION ALL | 두 질의 결과 행을 합치고 중복을 포함함 |
INTERSECT | 두 질의 결과 행의 공통되는 행 |
MINUS | 첫 번째 질의 결과에서 두 번째 질의 결과에 있는 행을 제거한 값 |
- 집합 연산자 활용 시 유의사항
- 각 집합 SELECT문의 질의 결과는 컬럼 수가 반드시 같아야 집합 연산을 수행할 수 있다.
- 각 집합 SELECT문의 질의 결과는 컬럼의 자료형이 반드시 같아야 집합 연산을 수행할 수 있다.
- MINUS 연산자는 각 집합의 SELECT문의 질의 결과의 순서에 따라 결과가 상이하다.
- 각 집합의 SELECT문은 ORDER BY절을 포함하지 못하지만, 전체 행에 대한 ORDER BY절은 포함할 수 있다.
Chapter03. 응용 SQL 작성하기
section01. 집계 함수
1. 다중 행 함수
2. 집계 함수
section02. GROUP BY절을 사용한 그룹 처리 함수
1. SELECT문 문법
2. ROLLUP 함수
3. CUBE 함수
4. GROUPING SETS 함수
section03. GROUP BY절을 사용하지 않는 윈도우 함수
1. 윈도우 함수
2. 순위 계산용 윈도우 함수
Chapter04. 절차형 SQL 작성하기
section01. 절차형 SQL
1. 절차형 SQL
2. PL/SQL(Procedural Language extension to SQL)
3. PL/SQL의 기본 블록 구조와 변수
4. PL/SQL의 선택문
5. PL/SQL의 반복문
section02. 저장 프로시저
1. 저장 프로시저(Stored Procedure)
2. 저장 프로시저 실행
3. 저장 프로시저 제거
section03. 사용자 정의 함수
1. 사용자 정의 함수 생성 구문
2. 호출 및 출력
3. 사용자 정의 함수 제거
section04. 이벤트와 트리거
1. 트리거
2. 자동 트리거 수행
3. 트리거 제거
'정보처리기사' 카테고리의 다른 글
[정보처리기사 요약정리] PART 5. 정보시스템 구축관리+ 기출포함 (26) | 2024.10.19 |
---|---|
[정보처리기사 요약정리] PART 4. 프로그래밍 언어 활용 + 기출포함 (8) | 2024.10.19 |
[정보처리기사 요약정리] PART 2. 소프트웨어 개발 + 기출포함 (11) | 2024.10.19 |
[정보처리기사 요약정리] PART 1. 소프트웨어 설계 + 기출포함 (12) | 2024.10.18 |
[정보처리기사 실기 기출] 2024년 2회 (14) | 2024.10.17 |