본문 바로가기
정보처리기사

정보처리기사 실기 프로그래밍 문제 SQL 기출 풀이 모음

by 셈이 2022. 10. 15.
728x90
반응형

정보처리기사 실기 2회차를 보고, 또 떨어지고 나서 느낀점은 '코딩 문제는 일단 다 맞아야 겠구나!' 였어요. 용어를 묻는 문제가 생각보다 너무 많이 나오기도 했고, 그 내용이 너무 지엽적이여서 모든 문제를 다 맞추기 위해 공부를 하는건 거의 불가능 하더라구요.

 

특히나 2020년도 이후에 ncs 기반으로 개편이 되고 나서, 프로그래밍 문제가 8문제 정도 나오고 있는데요. 60점이 합격점수에 12문제만 맞으면 되고, 프로그래밍 문제 8문제 다 맞추고 다른거 4개 더 맞겠다 라는 생각으로 접근해야 하는 것 같아요.

 

프로그래밍 문제는 C언어, 자바, 파이썬, SQL 이렇게 4개의 부분에서 나오는데요. 저는 정리하면서 공부를 하는 습관이 있어서 이렇게 블로그에 정리를 하면서, 하나 하나 기출문제를 분석해 보려고 합니다.

 

C언어와 관련된 기출문제 풀이는 제가 블로그에 따로 포스팅해 두었습니다!

 

정보처리기사 실기 프로그래밍 문제 C언어 기출 모음

정보처리기사 시험을 보고 난 뒤 느낀점은 '20문제 중에 코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 서술하는 문제는 너무 지엽적으로 나와서 맞추기가 어렵더라구요. 특히나 2020년도 이후

roadtofree.tistory.com

 

 

정보처리기사 실기 SQL 기출 문제 (2020년~ 2022년도/ 9회분)

대부분의 문제가 결과값이나 빈칸에 들어갈 알맞은 말을 쓰는 것이여서 문제 부분은 생략 하겠습니다.

 

 

1.  2022년 2회차 4번

 

[TABLE]

index 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

 

집계함수 문제입니다. 집계 함수입력이 여러개의 로우이고, 출력이 하나인 결과인 것을 말합니다. 테이블의 전체 로우 수를 구하는 count, 평균(avg), 총합(sum), 최대값(max), 최소값(min) 등등이 이런 함수들 입니다

 

SQL문제를 볼땐, From절 -> Where절 - Select절 순으로 봅니다.

 

Where절에서 col1 in(2,3) -> 1행, 2행 / col2 in(3,5) -> 3행,4행 5행

 

Select 절을 보면, col2 즉 2열의 갯수를 세라는 문제입니다.

 

Count(*) = Null값을 포함한 모든 갯수/ Count(컬럼명)= Null값을 포함하지 않은 모든 갯수를 말합니다. 따라서 col2에서 Null값을 제외한 모든 행의 갯수를 세면 4 입니다.

 

 

 

 

2.  2022년 2회차 12번

 

Q)  다음 테이블에서 πTTL(employee)에 대한 연산 결과 값을 작성하시오.

 

[employee 테이블]

 

더보기

답) 1. TTL / 2. 부장 / 3. 대리 / 4. 과장 / 5. 차장

 

 

관계 해석  
관계 대수 필수 단항 selection 𝝈 <행>
projection 𝛑 <열>
이항 union(합집합)
차집합
cartesian product(카티션곱) 𝝬
편의 이항 intersection(교집합)
join(조인)⋈ <연관된 칼럼끼리 통합>
division

 

𝛑 는 열에 대한 값을 계산하는 관계대수이다.

 

 

 

 

 

 

3.  2022년 1회차 4번

 

[성적테이블]

index name score
1 Kim 95
2 Gun 90
3 Son 80
4 Jung 60
SELECT name, score FROM 성적 ( 1 ) BY ( 2 ) ( 3 )

 

더보기

답) 1. ORDER / 2. score / 3. DESC

 

SELECT --- FROM ----

WHERE---

GROUP BY---

HAVING---

ORDER BY---

 

가장 기본적인 형태

 

오름차순 : ASC

내림차순 : DESC

 

 

 

 

 

4.  2021년 3회차 13번

Q) 다음은, 테이블에서 조건값을 실행한 화면이다. 이에 대한 알맞는 결과값을 작성하시오. 

더보기

4

 

Like연산자 : 특정 패턴을 포함할때 라는 의미

 

와일드카드 문자 (% 와 _)

 

'a%'  a로 시작하는 모든 값
 '%a'  a로 끝나는 모든 값
 '%a%'  a를 포함하는 모든 값
 'a%y'  a로 시작, y로 끝나는 모든값
'[sdf]%'  s나 d나 f로 시작하는 모든 값
'[a-c]%'  : a,b,c로 시작하는 모든 값

 

Join - inner join/ left join/ right join

첫번째테이블 inner join 두번째 테이블 ON 조건

 

Cross join특정 기준 없이 모든 경우의 수에 대한 결합을 결과로 보여준다. 그래서 ON절이 필요없다.

 

NAME RULE  
SMITH S% O
SMITH %T% O
ALLEN S% X
ALLEN %T% X
SCOTT S% O
SCOTT %T% O

 

 

 

 

 

 

5.  2021년 2회차 5번

Q) 다음은 테이블을 수정할때의 상황입니다. SQL 보기에서 괄호안에 알맞는 문장을 작성하시오.

 

(    1   ) 테이블명  (     2    )  컬럼 = 값 WHRE 점수 >= 90;

 

더보기

1. UPDATE

2. SET

 

 

 

 

 

6.  2021년 2회차 6번

Q) 다음 SQL 보기에서 JOIN할 경우 괄호안에 알맞는 문장을 작성하시오.

 

SELECT .... FROM 학생정보 a JOIN 학과정보 b (   1   ) a.학과 = b.(   2   )

 

더보기

1. ON

2. 학과

 

Join은 ON을 통해 조건을 설정한다. 

또 공통된 요소를 통해 결합을 하기 때문에 2번에는 학과가 들어간다.

 

 

 

 

 

 

7.  2021년 2회차 10번

 

Q) '이름'이란 컬럼에 '이'로 시작하는 문자열을 '내림차순'하는 쿼리 결과 내용입니다. (실제 시험에는 결과 이미지가 있습니다.)

 

SELECT .... FROM ... WHERE 이름 LIKE (   1   )  ORDER BY  (    2    )

 

더보기

1. 이%

2. DESC  

 

'a%'  a로 시작하는 모든 값
 '%a'  a로 끝나는 모든 값
 '%a%'  a를 포함하는 모든 값
 'a%y'  a로 시작, y로 끝나는 모든값
'[sdf]%'  s나 d나 f로 시작하는 모든 값
'[a-c]%'  : a,b,c로 시작하는 모든 값

 

오름차순 - ASC / 내림차순 - DESC

 

 

 

 

8.  2021년 1회차 6번

 

EMPNO SAL
100 1000
200 3000
300 1500

 

SELECT COUNT(*) FROM 급여
WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200;

 

더보기

답) 1

 

 

 

 

 

9.  2020년 4회차 16번

Q) 다음 조건을 만족하면서 학과별로 튜플 수가 얼마인지 구하는 SQL문을 쓰시오.

 

- 대소문자를 구분하지 않는다.
- WHERE 구문을 사용하지 않는다.
- GROUP BY 를 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다. (별칭 사용 시 별칭은 작은 따옴표를 써야 함)
- 집계 함수를 사용해야 한다.

 

[학생]

학과 학생
전기 이순신
컴퓨터 안중근
컴퓨터 윤봉길
전자 이봉창
전자 강우규

 

[결과]

학과 학과별 튜플수
전기 1
컴퓨터 2
전자 2

 

더보기

SELECT 학과 ,COUNT(학과) AS 학과별튜플수 FROM 학생 GROUP BY 학과;

 

 

 

 

 

10.  2020년 3회차 8번

Q) <성적> 테이블에서 과목별 점수의 평균이 90점 이상인 '과목이름' , '최소점수',' 최대점수' 검색

- 대소문자를 구분하지 않는다.
- WHERE 구분을 사용하지 않는다.
- GROUP BY, HAVING구문을 반드시 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다.

 

[성적]

과목코드 과목이름 학점 점수
1000 컴퓨터과학 A+ 95
2000 운영체제 B+ 85
1000 컴퓨터 과학 B+ 85
2000 운영체제 B 80

 

[결과]

과목이름 최소점수 최대점수
컴퓨터과학 85 95

 

더보기

SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적

GROUP BY 과목이름 HAVING AVG(점수) >= 90;

 

 

 

 

 

 

11.  2020년 3회차 9번

Q) 학생 테이블에서 이름이 민수인 튜플을 삭제하는 SQL문을 작성하시오

 

[학생]

학번 이름 점수 과목 이름
1000 김정미 90 알고리즘
2000 강은미 95 데이터베이스
3000 홍길동 90 전산수학
4000 민수 95 운영체제

 

더보기

DELETE FROM 학생 WHERE 이름 = '민수';

 

 

 

 

 

12.  2020년 3회차 20번

Q) 학생 테이블 주소 속성을 추가하는 SQL문을 작성하시오.

(    1.   ) TABLE 학생   (   2.  ) 주소 VARCHAR(20);

 

더보기

1. ALTER / 2. ADD

 

 

 

 

 

13.  2020년 2회차 6번

 

Q) 학생 테이블은 학번, 이름, 학년, 수강과목, 점수, 연락처를 속성으로 가진다. 아래 조건을 만족하는 SQL문을 작성하시오.

 

- 학생 테이블에서 3,4학년인 학번, 이름을 조회한다.
- IN 연산자 사용해야 한다.

[학생]

학번 이름 학년 수강과목 점수 연락처
1000 김이름 1 수학 90 010-1111- 2222
2000 장이름 2 과학 95 010-2222-2222
3000 허이름 3 미술 90 010-3333-3333
4000 조이름 4 음악 95 010-4444-4444

 

더보기

답) SELECT 학번, 이름 FROM 학생 WHERE 학년  IN (3,4);

 

 

 

 

 

14.  2020년 2회차 12번

Q) 학생 테이블의 name 속성에 IDX_NAME 이름으로 인덱스 생성하는 SQL문을 작성하시오.

 

STID NAME SCORE DEPTID
1000 김이름 90 1
2000 허이름 95 2
3000 조이름 90 3
4000 장이름 95 4

 

더보기

CREATE INDEX IDX_NAME ON 학생(NAME)

 

 

 

 

15.  2020년 1회차 6번

 

Q) STUDENT 테이블에서 컴퓨터과 학생 50, 인터넷과 학생 100, 사무자동화과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는? (, DEPT 칼럼은 학과명이다.)

 

 

1) SELECT DERP FROM STUDENT;
2) SELECT DISTINCT DEPT FROM STUDENT;
3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과';

 

더보기

1. 200 / 2. 3/ 3. 1

 

DISTINCT 중복제거 함수

 

SELECT DISTINCT (컬럼명) FROM

 

 

 

 

 


 

 

정보처리기사 실기 프로그래밍 문제 C언어 기출 모음

정보처리기사 시험을 보고 난 뒤 느낀점은 '20문제 중에 코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 서술하는 문제는 너무 지엽적으로 나와서 맞추기가 어렵더라구요. 특히나 2020년도 이후

roadtofree.tistory.com

 

정보처리기사 실기 프로그래밍 문제 Java 기출 풀이 모음

2022년 정보처리기사 실기 2회차를 보고 느낀 점은 '코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 묻는 문제가 너무 지엽적으로 나와서 답을 적어내기가 어렵더라고요. 특히나 2020년도 이후에

roadtofree.tistory.com

 

정보처리기사 실기 프로그래밍 문제 파이썬 기출 풀이 모음

2022년 정보처리기사 실기를 보고 느낀 점은 '코딩 문제를 일단 다 맞자!' 였어요. 용어를 묻는 문제가 너무 지엽적으로 나오기도 했고, 그 많은 방대한 범위를 정확하게 써 내려갈 정도로 공부를

roadtofree.tistory.com

 

반응형